一旦我有了主从建筑,我就试图对奴隶进行查询:http://slave.domain/solr/core_name/select?q=some:query&wt=json&indent=true
但它会返回一个错误"未定义字段#34;。
在主服务器上,查询运行正常!
答案 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。