十年前,在 Windows 世界中使用开源项目简直是不可想象的一件事。现在.NET 程序员在 Java 平台上验证并开发的企业级软件世界中也开始觉醒了。今天让我们一起来看看流行的全文检索引擎——Apache Lucene 与 Lucene.Net。
Apache Lucene 与其兄弟 Lucene.Net 是经过了大规模测试的产品,他们已经为一些著名站点如Wikipedia、CNET 及Monster.com 提供了搜索功能。因此,没人会怀疑其功能与未来的发展。
Lucene 并不是一个爬行搜索引擎,也不会自动地索引内容。我们得先将要索引的文档中的文本抽取出来,然后再将其加到 Lucene 索引中。标准的步骤是先初始化一个 Analyzer、打开一个 IndexWriter、然后再将文档一个接一个地加进去。一旦完成这些步骤,索引就可以在关闭前得到优化,同时所做的改变也会生效。这个过程可能比开发者习惯的方式更加手工化一些,但却在数据的索引上给予你更多的灵活性。
我们可以借助于一个对象模型来完成搜索,通过查询来建立条件。其次,Lucene 可以解析并执行(可能由最终用户输入的)普通文本搜索字符串。使用.NET 3.5 或后续版本的.NET 开发者还有第三种选择: LINQ to Lucene 。其项目主页上有一张图清晰地描述了 Lucene 的搜索语法与相应的 LINQ to Lucene 语法的区别。
如果你想试一下,可以参考 Andrew Smith对Lucene.NET 的介绍。无论你选择.NET 还是Java 版本,看看Erik Hatcher对Lucene 的介绍都会大有好处。
查看英文原文: Apache Lucene and Lucene.Net – Full Text Search Servers
评论