Apache Lucene 8.0.0 发布,Java 全文搜索引擎

段段段落
 段段段落
发布于 2019年03月21日
收藏 14

Lucene PMC 宣布推出 Apache Lucene 的最新版本 8.0.0,可在生产环境中使用。

Lucene 是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎、部分文本分析引擎。目的是为软件开发人员提供一个简单易用的工具包,以方便地在目标系统中实现全文检索的功能,或者是以此为基础建立起完整的全文检索引擎。

新版本的亮点包括:

查询执行

新版本对术语查询、短语查询和布尔查询进行了优化,在不需要总点击数的时候,可以有效地跳过不具竞争性的文档。根据实际查询和数据分布的不同,查询的速度会在慢几个百分点和快几倍之间变化,对术语查询和纯粹析取(pure disjunctions)来说更是如此。

为配合这个改进,一些 API 做了改动:

  • TopDocs.totalHits 现在是一个能给出实际点击数下限的对象。

  • IndexSearchersearchsearchAfter 方法可以精确地计算总点击数,现在最大值只能可达 1,000,以便查询优化的默认启用。

  • 现在需要查询才能产生非负分数。

编解码器

  • 发布当下的索引得分,会影响到附带的的跳过数据(skip data)。这也是在点击计数不需要的情况下,术语查询对热门点击集合进行优化的方式。

  • Doc 值引入了跳转表,以便可以不中断地运行,这对稀疏字段来说有很大作用。

  • 现在术语索引 FST 会在堆外加载使用 MMapDirectory 的非主键字段,从而减少这些字段的堆使用。

自定义评分

新的 FeatureField 允许将诸如 pagerank 的静态特征有效地集成到分数中,并且新的 LongPoint#newDistanceFeatureQueryLatLonPoint#newDistanceFeatureQuery 方法可以分别从新近度(recency)和地理距离来提升分数。这些新帮手针对不需要总点击数的情况进行了优化。举个例子,如果 pagerank 在您的分数中有着高的权重,那么 Lucene 往往能跳过低 pagerank 值的文档。

具体更新信息可查阅更改日志

下载地址:http://lucene.apache.org/core/downloads.html

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 OSCHINA 社区 [http://www.oschina.net]
本文标题:Apache Lucene 8.0.0 发布,Java 全文搜索引擎
加载中

最新评论(4

震秦
震秦

引用来自“红薯”的评论

lucene 版本更新真快,关键是经常不兼容
是的,有失控的风险。版本太快,性能其实没有太大改进,易用上也没啥明显改进
W
WO不吹牛
solr和elasticsearch又要跟进了,这家伙更新太快了
blu10ph
blu10ph
😁开源中国用的哪个版本啊?~
红薯
红薯
lucene 版本更新真快,关键是经常不兼容
返回顶部
顶部