Ошибка при выполнении запроса на Solr Slave
Получив архитектуру "ведущий-ведомый", я попытался выполнить запрос к ведомому: http://slave.domain/solr/core_name/select?q=some:query&wt=json&indent=true
Но он возвращает ошибку "неопределенное поле some".
У мастера запрос работает нормально!
2 ответа
Я заметил, что у меня была неправильная конфигурация SchemaFactory в файле 'solrconfig'. Раб имел:
<schemaFactory class="ManagedIndexSchemaFactory">
<bool name="mutable">true</bool>
<str name="managedSchemaResourceName">managed-schema</str>
</schemaFactory>
Но должен быть таким же, как основная конфигурация (в моем случае, конфигурация ниже):
<schemaFactory class="ClassicIndexSchemaFactory"/>
Вот как я это исправил. Я искал в Интернете, но безрезультатно. Может быть, это может кому-то помочь.
Я знаю, что это старый пост, но я столкнулся с той же проблемой и нашел решение. Если для фабрики схемы задано значение «ManagedIndexSchemaFactory», она использует управляемую схему, а НЕ schema.xml. Если вы посмотрите на свой главный индекс solrconfig.xml, он будет выглядеть примерно так:
<requestHandler name="/replication" class="solr.ReplicationHandler" >
<lst name="master">
<str name="replicateAfter">startup</str>
<str name="replicateAfter">commit</str>
<!--If configuration files need to be replicated give the names here, separated by comma -->
<str name="confFiles">schema.xml,managed-schema,stopwords.txt,elevate.xml</str>
<str name="maxNumberOfBackups">0</str>
</lst>
</requestHandler>
Обратите внимание, что вам нужно будет включить «управляемую схему» в параметр «confFiles».
Установка ClassicIndexSchemaFactory вернется к использованию schmea.xml.