java - ES 1.7.3 Elasticsearch Java 客户端 : significant terms aggregation unknown values

标签 java elasticsearch elasticsearch-aggregation

我们的团队目前正在将遗留项目从 Elasticsearch v1.7.3 迁移到 v7.8.0。它大部分是用 Scala 编写的,因此我们想同时替换 Java 客户端: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 中。重要术语聚合的文档:Significant Terms Aggregation | Elasticsearch Reference [1.7] | Elastic

每个桶仅显示 doc_countbg_countscore。这些方法代表什么——我们只能猜测。我们的建议之一是 getSupersetDfbg_count 的值相同,但同样是主要问题 - Java 客户端和 Elastic 文档中的值之间没有直接映射。

你能帮助我们吗?

谢谢!

最佳答案

我们可以在 ES source code 中找到它:

@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,也就是后台(superset)中包含该词条的文档数。

this , 表示 subsetSizedoc_count,而 getSupersetSize 指向 this calculation .我认为这意味着后台文档的总数(是否包含该词)。

总结一下:

  1. bucket.getDocCount:前台计数,每个重要的doc_count 术语桶。

  2. bucket.getSupersetDf:背景计数,bg_count中 每个重要术语桶。

  3. bucket.getSubsetSize:总计 前台文档计数,出现在 遗愿 list 之外的响应。

  4. bucket.getSupersetSize:总计 后台文件计数,出现在bg_count 遗愿 list 之外的响应。

关于java - ES 1.7.3 Elasticsearch Java 客户端 : significant terms aggregation unknown values,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66383503/

相关文章:

java - 出于想法,MySQLNonTransientConnectionException : Could not create connection to database server

elasticsearch - 用于Elasticsearch的ID查询的重复ID

python - 如何使用flask_msearch配置诸如模糊性之类的参数?

elasticsearch - 如何快速聚合大量数据

date - 在ElasticSearch中按日期排序和按天写入次数排序(第二排序)

java - 这些类之间应该是什么关系?

java - 在Java中,当一个接口(interface) "extends"另一个接口(interface)时到底会发生什么?

java - 不能在另一个文件夹中包含 FXML 文件

php - 存储库删除查询后,Symfony ElasticSearch不同步

elasticsearch - 比较Elasticsearch索引中的不同文档字段值