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

版本: 6.8-7.15

简而言之,当同一查询中存在两个聚合类型定义时,就会发生此错误。Elasticsearch 不允许在单个查询中使用多个相同类型的聚合。要解决此问题,您可以删除其中一个聚合或重命名其中一个以进行区分。或者,如果它们相关联,您可以将一个聚合嵌套在另一个聚合中。最后,确保查询的语法和结构正确,以避免此类冲突。

日志上下文 #

日志 “Found two aggregation type definitions in [” 的类名是 AggregatorFactories.java。 我们从 Elasticsearch 源代码中提取了以下内容,供那些寻求深入上下文的人参考:

}
subFactories = parseAggregators(parser; level + 1);
break;
default:
if (aggBuilder != null) {
    throw new ParsingException(parser.getTokenLocation(); "Found two aggregation type definitions in ["
    + aggregationName + "]: [" + aggBuilder.getType() + "] and [" + fieldName + "]");
}  try {
aggBuilder = parser.namedObject(BaseAggregationBuilder.class; fieldName; aggregationName);