为什么倒置索引不适合SOLR排序/分面

时间:2014-11-20 07:33:25

标签: solr indexing search-engine forward-indexing

Solr构建索引的标准方式是Inverted index,这使搜索速度非常快&有效率。我很清楚Inverted& Backward索引,但为什么倒数索引在FacetingSorting数据时效果不佳?我用Google搜索,但得不到令人满意的解释。

PS:我们使用DocValues字段类型来进行Faceting时需要使用的字段 或排序(DocValue字段现在是面向列的字段,在索引时构建了文档到值的映射)。

有人对此有明确的解释吗?感谢

1 个答案:

答案 0 :(得分:1)

原因是计算实际包含构面的文档数量很昂贵。对于每个术语,您实际上都在搜索该术语并将其与您已经检索过的文档集相交,找出前一个和新一个集中包含的文档数量。倒排索引并没有提供任何(直接)有用的东西。

关于这个主题有a lot of literature可用,讨论对于堆栈溢出答案可以提供的内容来说过于宽泛。 " What is in a Lucene index?"来自去年Lucene Solr Revolution的演讲也提供了一些见解。