11.2 全文检索引擎Lucene

Lucene最初是由Doug Cutting开发的,并于2000年3月在SourceForge上开源并提供下载,2001年9月Lucene作为高质量的Java开源软件产品加入到Apache软件基金会的Jakarta家族。Lucene是一个开源的全文检索引擎工具包,即它只是一个全文检索引擎的框架,并不是一个完整的全文检索引擎,它提供了完整的索引引擎、查询引擎和部分文本分析引擎。Lucene为软件开发人员提供了一套简单易用的检索引擎开发工具包,以方便在系统中实现全文检索功能,或者以Lucene为基础建立一套完整的全文检索引擎。

Lucene作为一个高性能、可伸缩的全文检索引擎,有着如下突出优点。

●索引文件格式独立于应用平台。Lucene的索引文件格式是以8字节为基础的,能够兼容不同的系统和应用平台。

●高效的索引引擎。Lucene支持倒排索引,而且在倒排索引的基础上实现了分块索引,大大提高了索引的速度。

●强大的查询引擎。Lucene自带了一套功能强大的查询引擎,用户无须编写相关代码即可使系统拥有强大的查询功能。

●易扩展。优秀的面向对象的系统架构使得Lucene易于学习和掌握,便于扩充新的功能。

Lucene项目的主页为http://lucene.apache.org/,笔者下载的是Lucene4.6.0,下载得到的文件名为lucene-4.6.0.zip,解压后能够看到很多文件夹,包括analysis、core、queryparser等,它们都是Lucene的重要组成部分,用于实现特定的功能。


注意 Lucene的版本号决定了向后兼容性的细节。主版本升级可能引入不兼容的API和运行时的变化。次版本号对所有公开支持的(public和protected)API完全向后兼容。也就是说,基于Lucene X.0开发的代码,如果只使用了公开支持的API,可以不经修改和重新编译,用于Lucene X.N下(仅需使用新的JAR包)。