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

版本: 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)) {