【问题标题】:Can I use roaring bitmap for lucence inverted index我可以将 roaringbitmap 用于 lucene 倒排索引吗
【发布时间】:2020-02-13 15:01:27
【问题描述】:

我们有超过 50 亿个文档需要为全文搜索建立索引。所有这些文档都是静态的,永远不需要更改。

经过大量研究,我们发现在 Redis 中使用咆哮位图来构建倒排索引非常快且资源极少。

现在的问题,我们可以在 lucene 倒排索引中使用咆哮位图吗?

【问题讨论】:

  • 我的意思是,你想用 lucene 中的那些位图具体做什么?
  • @Mysterion 加快搜索速度,使用最少的计算能力。

标签: elasticsearch lucene solar


【解决方案1】:

Lucene 多年来默认使用 Roaring 位图。 2014年添加https://issues.apache.org/jira/browse/LUCENE-5983

Elias Fano 于 2015 年被移除。https://issues.apache.org/jira/browse/LUCENE-6484

【讨论】:

    【解决方案2】:

    使用咆哮位图的想法已经在 Lucene 世界中进行了评估。您可以在这里查看完整结果 - http://people.apache.org/~jpountz/doc_id_sets4.html

    一般的想法是,虽然咆哮位图很有效,但它只能用于 2 个功能:

    • 遍历所有匹配的文档(如果您运行恒定分数查询可能会出现这种情况)

    • 前进到集合中包含的第一个 doc id,这通常用于过滤器和查询之间的交集

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

    【讨论】:

      猜你喜欢
      • 2011-07-12
      • 2013-07-07
      • 2011-08-15
      • 1970-01-01
      • 2012-02-24
      • 2016-06-17
      • 2019-10-27
      • 2012-07-18
      • 2011-12-20
      相关资源
      最近更新 更多