索引和倒排索引如何在 solr 的构面中工作?

How index and inverted index works in facets in solr?

我了解倒排索引和索引的理论概念。 Solr 主要使用倒排索引(搜索标记而不是文档)来索引文档。
我还读到 Solr 对 facets 等功能使用索引。
据我了解,对于方面, 搜索一个term和创建facet需要Solr搜索一个字段中的所有term,并匹配所有检索到的包含该搜索term的文档,这将是有代价的,所以使用了索引。

据我了解,索引用于检索所有引用搜索词的文档,遍历它们并计算有关字段的唯一值计数。

这是对这个概念的正确理解还是另有所指?

这不仅仅是一种方式,solr 中的分面是如何工作的。 Solr 有一个启发式 select a best 但也有一个 the facet.method parameter 到 select 由您自己决定。

主要是你的描述是对的,但是solr因为缓存了所以很快 UnInvertedField 而不是 select 从倒排索引中获取每个请求的值。

使用 DocValues 还可以有效地存储未反转的字段。

这个答案也可能对您有所帮助: