"不能在多值字段上使用FieldCache"在非存在领域的百分位面上

时间:2017-04-02 09:42:52

标签: solr faceted-search solr5

我使用Solr 5.3.1,向我的索引发出百分比构面查询。我的索引主要包含动态字段(请参阅架构)。

示例分面查询 -

  1. Urlified:http://host_name:8983/solr/core_name/select?json.facet=%7B%22my_facet_name%22:%22percentile(my_field_num,70.0,80.0,90.0)%22%7D&rows=0
  2. Solr Params:

    • json.facet = {" my_facet_name":&#34百分位数(my_field_num,70.0,80.0,90.0)"}
    • rows = 0(因为我只需要构面值)
  3. 有时执行分面查询时会出现以下错误 -

    org.apache.solr.client.solrj.impl.HttpSolrClient$RemoteSolrException: 
    Error from server at http://host_name:8983/solr/core_name:
    can not use FieldCache on multivalued field: my_field_num
    

    据我所知,只有当分面字段不存在时才会发生这种情况。在查询期间,我不知道哪些字段存在,因此查询不存在的字段是合法的。

    我查询的字段总是多值的,而且大部分时间都是facet成功的,所以多值性最不是问题。请参阅架构的相关部分 -

    <schema name="my_schema" version="1.5">
    ...
        <dynamicField name="*_num" type="float" indexed="true" stored="true" multiValued="true" omitNorms="false"/>
        <fieldType name="float" class="solr.TrieFloatField" precisionStep="0" positionIncrementGap="0"/>
    ...
    </schema>
    

    有人可以帮我解释这个问题吗?

0 个答案:

没有答案