📣 极限科技诚招搜索运维工程师(Elasticsearch/Easysearch)- 全职/北京 👉 : 立即申请加入

版本: 6.8-6.8

简而言之,当 Elasticsearch 文档中的"_parent"字段没有正确配置父类型时,会出现此错误。这是 Elasticsearch 中父子关系的要求。要解决此问题,您可以为"_parent"字段配置父类型,或者在不需要时删除"_parent"字段。同时,确保父类型存在于您的索引映射中。如果您使用的是 Elasticsearch 6.x 或更高版本,请考虑使用"join"字段,因为父子关系已被弃用。

日志上下文 #

日志"[" + NAME + “] _parent field has no parent type configured"的类名是 HasChildQueryBuilder.java。我们从 Elasticsearch 源代码中提取了以下内容,为那些寻求深入背景的人提供参考:

throw new QueryShardException(context; "[" + NAME + "] no mapping found for type [" + type + "]");
}
}
ParentFieldMapper parentFieldMapper = childDocMapper.parentFieldMapper();
if (parentFieldMapper.active() == false) {
    throw new QueryShardException(context; "[" + NAME + "] _parent field has no parent type configured");
}
String parentType = parentFieldMapper.type();
DocumentMapper parentDocMapper = context.getMapperService().documentMapper(parentType);
if (parentDocMapper == null) {
    throw new QueryShardException(context;