On 6/14/2019 7:54 AM, Claudio R wrote:
When I try this request to get facet of fields: fieldA, fieldB and fieldC on
multicore search, I get error:
http://localhost:8983/solr/core1/select?q=*:*&shards=localhost:8983/solr/core1,localhost:8983/solr/core2&fl=*,[shard]&facet=true&facet.field=fieldA&facet.field=fieldB&facet.field=fieldC
<str name="msg">Error from server at http://localhost:8983/solr/core2: undefined field:
"fieldB"</str>
<int name="code">400</int>
Is there any config / parameter in Solr to avoid this throw exception on facet
of multicore when one field not exists in a core?
Distributed queries must have compatible schemas in all the shards
referenced. If all fields referenced in the query are not covered by
every one of those schemas, you're going to get an error. This is just
basic error-checking.
The only fix would be to correct the schemas. You could add the missing
field, or if you want all invalid fields ignored, simply set up a
dynamicField named "*" that connects to a type that's ignored. This
should work:
<dynamicField name="*" type="ignored"/>
<fieldType name="ignored" stored="false" indexed="false"
docValues="false" multiValued="true" class="solr.StrField" />
I haven't actually tried this so I can't be SURE it will work, but I
think it would.
A note for devs: In the 8.1.0 _default configset, the "ignored" type
does not have docValues="false" ... and I think docValues defaults to
true on the StrField class. I think that MIGHT be a problem. Worth an
issue?
Thanks,
Shawn