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.
我们有一个 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.