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

版本: 6.8-7.15

简而言之,当Elasticsearch由于内存限制、聚合语法错误或数据类型不兼容等问题而无法计算指定的聚合时,就会出现此错误。要解决此问题,您可以增加堆大小以提供更多内存,确保聚合语法正确,或检查正在聚合的数据类型以确保兼容性。此外,如果聚合过于复杂,可以考虑简化聚合或将其分解为更小的、可管理的部分。

日志上下文 #

日志"Merging/Reducing the aggregations failed when computing the aggregation [“类名称是 InternalMappedRareTerms.java。我们从Elasticsearch源代码中提取了以下内容,供寻求深入背景的人参考:

if (referenceTerms != null &&
 referenceTerms.getClass().equals(terms.getClass()) == false &&
 terms.getClass().equals(UnmappedRareTerms.class) == false) {
 // control gets into this loop when the same field name against which the query is executed
 // is of different types in different indices.
 throw new AggregationExecutionException("Merging/Reducing the aggregations failed when computing the aggregation ["
 + referenceTerms.getName() + "] because the field you gave in the aggregation query existed as two different "
 + "types in two different indices");
 }
 for (B bucket : terms.getBuckets()) {
 ListbucketList = buckets.computeIfAbsent(bucket.getKey(); k -> new ArrayList<>());