lucene 我可以为Lucence倒排索引使用咆哮位图吗

hc8w905p  于 2022-11-07  发布在  Lucene
关注(0)|答案(2)|浏览(217)

我们有超过50亿个文档需要编入索引以进行全文搜索。所有这些文档都是静态的,永远不需要更改。
经过大量的研究,我们发现在Redis中使用咆哮位图来建立倒排索引是非常快的,而且资源最少。
现在的问题是,我们能在lucene倒排索引中使用咆哮位图吗?

nsc4cvqm

nsc4cvqm1#

Lucene已经默认使用咆哮位图很多年了。它是在2014 https://issues.apache.org/jira/browse/LUCENE-5983中添加的
埃利亚斯·法诺于2015年被移除。https://issues.apache.org/jira/browse/LUCENE-6484

5lwkijsr

5lwkijsr2#

使用咆哮位图的想法已经在Lucene的世界中进行了评估。你可以在这里查看完整的结果-http://people.apache.org/~jpountz/doc_id_sets4.html
一般的想法是,虽然咆哮位图是有效的,它只能用在2个功能:

  • 迭代所有匹配的文档(如果运行常量分数查询,则可能会出现这种情况)
  • 前进到集合中包含的第一个文档ID,这通常用于筛选器和查询之间的交集

总而言之,我认为目前Lucene在大多数情况下使用Elias-Fano编码,这被认为是更快的。这也意味着,你可以只使用Lucene,并有信心,它在建立倒排索引和处理查询方面有很高的速度

相关问题