簡體   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