Tag Archives: Lucene

使用Apache Lucene搜索文本

英文原文:http://www.ibm.com/developerworks/java/library/os-apache-lucenesearch/ 中文翻译:ZavaKid 目录: Lucene介绍 在应用程序中使用Lucene 索引数据 Lucene介绍 Lucene是一个来自Apache的开源,高可扩展性的文本搜索引擎库。可以在开源或者商业软件应用中使用。Lucene强大的API主要集中在对文本的索引和搜索。使用它可以在应用中增加搜索的功能,比如邮件客户端,邮件列表,网页搜索,数据库搜索,等等。使用Lucene的网站有:Wikipedia,TheServerSide,jGuru,还有 LindedIn。 Lucene也为 Eclipse IDE,Nutch(著名的开源web搜索引擎),还有像IBM,AOL和Hewlett-Packard之类的公司。Lucene已经被写成多种语言了,像Perl,Python,C++,还有 .NET,到今天(2009-09-12)为止,最新的Lucene Java版本为 V2.4.1 Lucene有许多功能,包括: 强大、准确、高效的搜索算法 通过搜索计算相关文档的得分,并且通过相关度高获得高得分,得到高排名 支持多种搜索类型,包括词组搜索、通配符搜索、范围搜索、模糊搜索、布尔搜索,等等 支持解析用户输入的富搜索表达式 允许用户自定义排序、过滤、搜索表达解析去改变搜索行为 使用基于文件的锁机制防止同时修改索引 允许搜索和索引同时进行 在应用程序中使用Lucene 如图一所示,使用Lucene建立一个功能齐全的搜索应用主要设计到了:索引数据,搜索数据,和呈现搜索结果。 图一:应用程序使用Lucene的步骤 这篇文章将使用代码片段,这些片段来自某个由Lucene V2.4.1构建的应用程序。这个示例程序索引了一系列存在属性文件的电子邮件文档,也展示了如何使用Lucene的查询API去搜索索引。这个例子也会让你对基本的索引操作熟悉起来。 索引数据 Lucene可以索引任何文本格式的数据。你可以使用 Lucene 去索引 HTML 中的搜索数据,微软的 document, PDF 文件,等等。索引数据的第一步是要把数据转换成普通的文本格式。你可以似乎用自定义的解析器或者数据转换器去实现(把不是文本格式的数据转换成文本格式)。 索引过程 索引,是为了减轻快速搜索困难而把文本格式转换成某种格式的一个过程。这就好比你可能利用一个索引迅速找到一本书的后面:这个索引帮你定位到这本书的某一章。 Lucene … Continue reading

Posted in Java | Tagged , , , | Leave a comment