繁体   English   中英

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

[英]ES 1.7.3 Elasticsearch Java client: significant terms aggregation unknown values

Out 团队目前正在将遗留项目从 Elasticsearch v1.7.3 迁移到 v7.8.0。 It's in most part written in Scala, so along with this we would like to replace Java client: Maven Repository: org.elasticsearch » elasticsearch » 1.7.3

在工作过程中,我们发现我们非常不确定的代码是平静的,例如:

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

所以我们根本没有找到getSupersetDfgetSubsetSizegetSupersetSize代表什么。 在 ES 1.7.3 中。 重要术语聚合的文档: 重要术语聚合 | Elasticsearch 参考 [1.7] | 松紧带

每个桶只doc_countbg_countscore 这些方法代表什么——我们只能猜测。 我们的建议之一是getSupersetDf的值与bg_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 :前台文档总数,即在桶列表之外的响应中出现的doc_count

  4. bucket.getSupersetSize : 总背景文档计数,出现在桶列表之外的响应中的bg_count

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM