"нельзя использовать FieldCache для многозначного поля" во время процентили фасета в несуществующем поле

Я использую Solr 5.3.1, выдаю процентильные фасетные запросы к моему индексу. Мой индекс содержит в основном динамические поля (см. Схему).

Пример граненого запроса -

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

    • json.facet = { "my_facet_name": "процентиль (my_field_num, 70.0,80.0,90.0)"}
    • rows = 0 (потому что мне нужны только значения фасетов)

Иногда при выполнении граненого запроса я получаю следующую ошибку:

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

Насколько я знаю, это происходит только тогда, когда граненое поле не существует. Во время запроса я не знаю, какие поля существуют, поэтому запрос несуществующих полей является законным.

Поля, которые я запрашиваю, всегда многозначны, и в большинстве случаев фасет завершается успешно, поэтому многозначность, скорее всего, не является проблемой. Смотрите соответствующие части схемы -

<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 ответов

Другие вопросы по тегам