solrlucenesolrnetsolr6

Apache Solr - Error loading class solr.NestPathField for solr version 6.5


Trying to have nested child documents inside managed schema in solr 6.5 as -

<fieldType name="_nest_path_" class="solr.NestPathField"/> 
<field name="_root_" type="string" indexed="true" stored="false" docValues="false" />      
<field name="_childDocuments_" type="_nest_path_">
<field name="id" type="string" multiValued="false" indexed="true" required="true" stored="true"/>
<field name="firstname" type="text_general"  indexed="true" stored="true"/>
<field name="lastname" type="text_general"  indexed="true" stored="true"/>

But seems _nest_path_ field is not supported in solr 6.5 and getting error Error loading class solr.NestPathField.

Any alternatives to store child documents without using nest_path or is there something wrong that I am doing here?

This schema works perfectly fine in Solr 8.4


Solution

  • Child documents can be handled without using the nested documents feature - the nested documents feature just makes it easier and more automatic.

    Nested documents were introduced with Solr 8 - so trying to use the feature with Solr 6 won't work as you've discovered.

    In earlier versions, as far as I know, you'll have to make those updates manually with relevant fields referenced, then apply the block join query parser and childdoctransformer explicitly with these values.

    If you can, upgrade to Solr 8 (in the newest dotrelease) as the feature work's as you'd expect there, instead of adding the complexity of handling it yourself to work around the limitations in the earlier release.