版本: 7.16-8.2
简而言之,当 Elasticsearch 尝试执行超出父文档允许的最大子节点数量的查询时,就会发生此错误。设置此限制是为了防止内存问题。要解决此问题,您可以增加 Elasticsearch 配置中的 ‘index.mapping.nested_objects.limit’ 设置。但请注意,这可能会导致内存问题。或者,您可以优化查询以减少所需的嵌套对象数量,或重组数据结构以避免超出限制。
日志上下文 #
日志 “Missing wild_card child even though maximum children reached” 的类名是 TreeNode.java。我们从 Elasticsearch 源代码中提取了以下内容,供那些寻求深入理解上下文的人参考:
toMerge = node;
toReturn = wildChild;
}
wildChild.mergeWith(toMerge);
return toReturn;
}).orElseThrow(() -> new AggregationExecutionException("Missing wild_card child even though maximum children reached"));
}
// 我们即将达到限制;如果需要,添加通配符,然后适当地添加新的子节点
if (children.size() == maxChildren - 1) {
// 如果我们已经有通配符令牌;简单地添加新令牌是可接受的,因为我们不会超出限制
if (children.containsKey(WILD_CARD_ID)) {





