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

版本: 7.8-7.9

简而言之,当 Elasticsearch 中期望的聚合器与实际发现的聚合器不匹配时,会出现此错误。这通常发生在您尝试使用的聚合与索引中的字段类型不匹配时。要解决此问题,您可以更改索引中的字段类型以匹配期望的聚合器,或者使用与当前索引字段类型匹配的适当聚合。此外,请确保您的 Elasticsearch 版本支持您尝试使用的聚合。

日志上下文 #

日志"Registry miss-match – expected SignificantTermsAggregatorSupplier; found [“的类名是 SignificantTermsAggregatorFactory.java。 我们从 Elasticsearch 源代码中提取了以下内容,供那些寻求深入背景的人参考:

CardinalityUpperBound cardinality;
 Mapmetadata) throws IOException {
 AggregatorSupplier aggregatorSupplier = queryShardContext.getValuesSourceRegistry().getAggregator(config;
 SignificantTermsAggregationBuilder.NAME);
 if (aggregatorSupplier instanceof SignificantTermsAggregatorSupplier == false) {
 throw new AggregationExecutionException("Registry miss-match - expected SignificantTermsAggregatorSupplier; found [" +
 aggregatorSupplier.getClass().toString() + "]");
 }
 SignificantTermsAggregatorSupplier sigTermsAggregatorSupplier = (SignificantTermsAggregatorSupplier) aggregatorSupplier;  BucketCountThresholds bucketCountThresholds = new BucketCountThresholds(this.bucketCountThresholds);