Apache Lucene 与 Lucene.Net——全文检索服务器

  • Jonathan Allen
  • 张龙

2008 年 11 月 10 日

话题:Java.NET语言 & 开发架构

十年前,在 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

Java.NET语言 & 开发架构