SOLR facettig 问题

SOLR facettig issue

我们有一个 SOLR 5.2.1 集群,我们索引了大约 7000 万个文档。 我目前面临的一个问题是,当我们使用一个过滤条件对一个字段进行分面时,我在 response.For 示例中看不到某个分面值,下面是在 SOLR 上触发的查询 : http://HOST:/solr/shard3_replica1/select?q=:&facet.mincount=1&rows=0&facet=true&facet.field=cId&fq=ctId:123456

因此在响应中返回了 facets 但没有返回一个值(例如 cId : 9999999 )。 但是如果我们对相同的值应用过滤器以及原始过滤器,我可以在 response.For 示例中看到数据: http://HOST:/solr/shard3_replica1/select?q=:&facet.mincount=1&rows=0&facet=true&facet.field=cId&fq=ctId:123456&fq=cgId :9999999

我可以很清楚地看到返回了构面值。

以下是字段的相关架构定义:

<field name="cId" type="text_general" indexed="true" stored="true"/>
<field name="ctId" type="text_general" indexed="true" stored="true" multiValued="true"/>

<fieldType name="text_general" class="solr.TextField" positionIncrementGap="100">
            <analyzer type="index">
                <tokenizer class="solr.StandardTokenizerFactory"/>
                <filter class="solr.LowerCaseFilterFactory"/>
            </analyzer>
            <analyzer type="query">
                <tokenizer class="solr.StandardTokenizerFactory"/>
                <filter class="solr.LowerCaseFilterFactory"/>
            </analyzer>
        </fieldType>

我在我的本地 solr 设置中创建了一个具有相同配置的示例集合,并摄取了相同的 data.In 该集合,上述两个查询都工作正常。

任何帮助将不胜感激。 提前致谢。

由于您没有为 facet.limit 提供值,Solr 将默认仅 return 该字段的 100 个最常用值。我还建议使用非标记化字段进行分面,但如果它适用于您的用例 - 当然可以。但请注意,这将为 00-00 和多种其他格式创建单独的标记。

facet.limit

This parameter specifies the maximum number of constraint counts (essentially, the number of facets for a field that are returned) that should be returned for the facet fields. A negative value means that Solr will return unlimited number of constraint counts.

The default value is 100.