"нельзя использовать FieldCache для многозначного поля" во время процентили фасета в несуществующем поле
Я использую Solr 5.3.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
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>
Может ли кто-нибудь помочь мне пролить свет на проблему?