У нас есть кластер SOLR 5.2.1, и мы проиндексировали около 70 миллионов документов.Одна проблема, с которой я сталкиваюсь в настоящее время, заключается в том, что когда мы получаем фасет в одном поле с одним условием фильтра, я не вижу в ответе определенного фасетного значения. Например, следующий запрос запускается по SOLR: http://HOST:/solr/shard3_replica1/select?q=:&facet.mincount=1&rows=0&facet=true&facet.field=cId&fq=ctId:123456
Таким образом, в ответе возвращаются фасеты, но одно значение (например, cId: 9999999) не возвращается.Но если мы применим фильтр к тому же значению вместе с исходным фильтром, я смогу увидеть данные в ответ. Например: 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 и принял те же данные. В этой коллекции оба вышеуказанных запроса работают нормально.
Любая помощь будет очень признательна.Заранее спасибо.