0
votes

Once I have a master-slave architeture I've tried to run a query on the slave: http://slave.domain/solr/core_name/select?q=some:query&wt=json&indent=true

But it returns a error "undefined field some".

At the master, the query runs fine!

2

2 Answers

0
votes

I noted that I had a missconfiguration of the SchemaFactory at the 'solrconfig' file. The slave had:

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

But needs to be as the same as the master configuration (in my case, the configuration below):

<schemaFactory class="ClassicIndexSchemaFactory"/>

This is how I fixed it. I searched around the web about but with no results. Maybe this could help someone.

0
votes

I know this is an old post, but I ran into the same issue, and figured out the solution. When the schema factory is set to "ManagedIndexSchemaFactory" it uses Managed-Schema, NOT schema.xml. If you look at your master index solrconfig.xml it will look something like this:

        <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>

Notice you will need to include "managed-schema" in the "confFiles" setting.

Setting ClassicIndexSchemaFactory will revert back to using schmea.xml.