Apache Solr - 为 solr 版本 6.5 加载 class solr.NestPathField 时出错

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

尝试在 solr 6.5 的托管模式中嵌套子文档,如 -

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

但似乎 _nest_path_ 字段在 solr 6.5 中不受支持并且出现错误 Error loading class solr.NestPathField

有没有不使用 nest_path 来存储子文档的替代方法,或者我在这里做的有什么不对吗?

这个模式在 Solr 8.4 中工作得很好

无需使用嵌套文档功能即可处理子文档 - nested documents feature just makes it easier 且更加自动化。

Nested documents were introduced with Solr 8 - 因此尝试将此功能与 Solr 6 一起使用将无法像您发现的那样工作。

据我所知,在早期版本中,您必须使用引用的相关字段手动进行这些更新,然后 apply the block join query parser and childdoctransformer 明确使用这些值。

如果可以,请升级到 Solr 8(在最新的 dotrelease 中),因为该功能会像您期望的那样工作,而不是增加您自己处理它的复杂性以解决早期版本中的限制。