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