Lucene是一个开源的全文检索引擎工具包,最初由Doug Cutting开发。早在1997年,资深全文检索专家 Doug Cutting用一个周末时间,使用Java语言创作了一个文本搜索的开源函数库,目的是为各种中小型应用软件加入全文搜索功能,不久以后,Lucene诞生了,2000年Lucene称为Apache开源社区的一个子项目。随着Lucene被人们熟知,越来越多的用户和研发人员加入其中,完善并壮大项目的发展,Lucene已成为最受欢迎的具有完整的查询引擎和索引引擎的全文检索库。

       Lucene从问世之后,引发了开源社区的巨大反响,程序员们不仅使用它构建全文检索应用,而且将之集成到各种系统软件中去,除此之外还用来构建Web应用。维基百科用Lucene建立了一个站内的强大搜索功能,用以检索站内数以千万的词条。IBM的商业软件Web Sphere也采用了Lucene作为全文索引引擎。Lucene以其开放源代码的特性、优异的索引结构、良好的系统架构获得了越来越多的应用。Lucene的优点主要有以下3点:

1.稳定,索引性能高 

现在硬盘上每小时能够索引150GB以上的数据。

对内存的要求小,只需要1MB的对内存。

增量索引和批量索引一样快

索引的大小约为索引文本大小的20%~30%。

2.高效、准确、高性能的搜索算法

搜索排名———最好的结果显示在最前面。

许多强大的查询类型:短语查询,通配符查询,近似查询、范围查询等。

对字段级别搜索(如标题,作者,内容)。

可以对任意字段排序。

支持搜索多个索引并合并索引结果

支持更新操作和查询操作同时进行

灵活等切面、高亮、join和group by功能。

速度快,内存效率高,容错性好。

可选排序模型,包括向量空间模型和BM2,5模型。

可配置存储引擎。

3.跨平台解决方案

作为Apache开源许可,在商业软件和开放程序中都可以使用Lucene。

100%纯Java编写。

对多种语言提供接口。