在solr slave上运行查询时出错

时间:2017-05-08 21:52:52

标签: search solr master slave

一旦我有了主从建筑,我就试图对奴隶进行查询:http://slave.domain/solr/core_name/select?q=some:query&wt=json&indent=true

但它会返回一个错误"未定义字段#34;。

在主服务器上,查询运行正常!

2 个答案:

答案 0 :(得分:0)

我注意到我在'solrconfig'文件中错误配置了SchemaFactory。奴隶有:

<schemaFactory class="ManagedIndexSchemaFactory">
   <bool name="mutable">true</bool>
   <str name="managedSchemaResourceName">managed-schema</str>
</schemaFactory>

但需要与主配置相同(在我的情况下,下面的配置):

<schemaFactory class="ClassicIndexSchemaFactory"/>

这就是我修复它的方法。我在网上搜索但没有结果。也许这可以帮助别人。

答案 1 :(得分:0)

我知道这是一个旧帖子,但我遇到了同样的问题,并找到了解决方案。当架构工厂设置为“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”设置中包含“managed-schema”。

设置 ClassicIndexSchemaFactory 将恢复使用 schmea.xml。