Lucene介绍

来源:互联网 发布:mysql自动备份数据库 编辑:程序博客网 时间:2024/05/16 02:04

Lucene最初是由Doug Cutting编写,并于2000年3月在SourceForge上开源并提供下载的。
2001年9月份Lucene作为高质量的Java开源软件产品加入Apache软件基金会的Jakarta家族。2005年Lucene升级成为Apache顶级项目。
目前Lucene包含大量相关项目,具体情况可以访问http://lucene.apache.org/网站了解。

 

作为最为流行的基于Java 的高性能开源全文信息检索工具包,它不是一个完整的搜索应用程序,而是为你的应用程序提供索引和搜索功能,
利用它可以轻易地为Java软件加入全文搜寻功能。目前已经有很多应用程序的搜索功能是基于 Lucene 的,比如 Eclipse 的帮助系统的搜索功能。

 

Lucene 能够为文本类型的数据建立索引,所以你只要能把你要索引的数据格式转化的文本的,Lucene 就能对你的文档进行索引和搜索。
比如你要对一些 HTML 文档,PDF 文档进行索引的话你就首先需要把 HTML 文档和 PDF 文档转化成文本格式的,然后将转化后的内容交给 Lucene 进行索引,
然后把创建好的索引文件保存到磁盘或者内存中,最后根据用户输入的查询条件在索引文件上进行查询。
不指定要索引的文档的格式也使 Lucene 能够几乎适用于所有的搜索应用程序。

搜索应用程序和 Lucene 之间的关系,也反映了利用 Lucene 构建搜索应用程序的流程:

Lucene历次发布版本介绍:

版本

发布日期

里程碑

0.01

2000年03月30

在SourceForge网站第一次开源发布

1.01b

2001年06月02

支持前缀查询

1.2 rc6

2002年06月13

修改QueryParser支持?通配符

1.3 rc3

2003年01月25

支持minMergeDocs

1.4 rc1

2004年03月29

修改.tis文件格式,ParallelMultiSearcher等

1.9 rc1

2006年02月21

新增MMapDirectory

2.1.0

2007年02月17

新增FieldSelector

3.0.0

2009年11月25日

新增AttributeFactory

3.2.0

2011年06月3

新增TieredMergePolicy

3.4.0

2011年09月14

新增FixedBitSet

3.5.0

2011年11月27日

新增IndexSearcher.searchAfter

3.6.0

2012年04月12

新增FieldValueFilter

4.0.0-alpha

2012年07月03日

新增RegexpQuery

4.0.0-beta

2012年08月13

新增BloomFilteringPostingsFormat

4.0.0

2012年10月12日

新增BlockPostingsFormat

4.1.0

2013年01月22日

新增AnalyzingSuggester和FuzzySuggester等