ES 1.7.3 Elasticsearch Java客户端:重要项聚合未知值



我们的团队目前正在将遗留项目从Elasticsearch v1.7.3迁移到v7.8.0。它大部分是用Scala编写的,因此我们希望替换Java客户端:Maven Repository: org。Elasticsearch> Elasticsearch>

在工作过程中,我们发现了一些我们非常不确定的代码,比如:

SignificantTerms.Bucket bucket = //fethced significant terms;
bucket.getDocCount
bucket.getSupersetDf
bucket.getSubsetSize
bucket.getSupersetSize

,所以我们根本找不到getSupersetDf,getSubsetSizegetSupersetSize代表什么。在ES 1.7.3中。重要术语聚合文档:重要术语聚合| Elasticsearch Reference [1.7] | Elastic

每个bucket只存在doc_count,bg_countscore。这些方法代表什么——我们只能猜测。我们的建议之一是getSupersetDfbg_count的值相同,但再次出现主要问题- Java客户端和Elastic文档中的值之间没有直接映射。

你能帮帮我们吗?谢谢!

我们可以在ES源代码中找到:

@Override
public final XContentBuilder toXContent(XContentBuilder builder, Params params) throws IOException {
builder.startObject();
keyToXContent(builder);
builder.field(CommonFields.DOC_COUNT.getPreferredName(), getDocCount());
builder.field(InternalSignificantTerms.SCORE, getSignificanceScore());
builder.field(InternalSignificantTerms.BG_COUNT, getSupersetDf());
getAggregations().toXContentInternal(builder, params);
builder.endObject();
return builder;
}

您可以看到,确实,getSupersetDf代表bg_count,它是后台(超集)中包含该术语的文档的数量。

,这表明subsetSizedoc_count,而getSupersetSize指向这个计算。我认为它指的是后台文档的总数(无论它们是否包含术语)。

总结一下:

  1. bucket.getDocCount:前景计数,各doc_count显著桶。

  2. bucket.getSupersetDf:背景计数,bg_count

  3. bucket.getSubsetSize: total中出现的doc_count在遗愿清单之外的响应。

  4. bucket.getSupersetSize: total中出现的bg_count在遗愿清单之外的响应。

相关内容

  • 没有找到相关文章

最新更新