版本: 7.13-7.15
简要来说,当你在Elasticsearch中尝试对复合聚合(composite aggregation)的结果进行分页,并且设置了错误的’after’键时,会出现此错误。‘after’键用于检索下一页结果。要解决此问题,请确保你设置的’after’键是正确的。它应该是上一页中的最后一个分桶(bucket)。此外,确保’after’键的顺序与复合聚合中的sources顺序相同。最后,检查你的Elasticsearch版本是否支持复合聚合的分页功能。
日志上下文 #
日志 “Cannot set after key in the composite aggregation [” + name + “] - " 的类名是 CompositeAggregator.java。我们从Elasticsearch源代码中提取了以下内容,供那些寻求深入了解上下文的人参考:
this.queue = new CompositeValuesCollectorQueue(context.bigArrays(); sources; size);
if (rawAfterKey != null) {
try {
this.queue.setAfterKey(rawAfterKey);
} catch (IllegalArgumentException ex) {
throw new ElasticsearchParseException("Cannot set after key in the composite aggregation [" + name + "] - " +
ex.getMessage(); ex);
}
}
this.rawAfterKey = rawAfterKey;
}





