【问题标题】:Range Aggregation with min and max aggregation in javaJava中具有最小和最大聚合的范围聚合
【发布时间】:2021-01-04 08:48:56
【问题描述】:

我有一个场景,我需要在 Java 中为数字字段的弹性搜索构建范围聚合,但我没有范围。我需要从现有文档中计算范围(最小值和最大值),然后将其传递给范围聚合。我们该怎么做?是不是我们可以结合范围、最小值和最大值聚合?

【问题讨论】:

    标签: java elasticsearch elasticsearch-aggregation


    【解决方案1】:

    理想情况下,可以从聚合的输出中选择一个值或类型的值/结果,以便在另一个聚合系列中重用。这一系列聚合称为 Pipeline Aggregation https://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations-pipeline.html

    但是,Range Aggregation 不是 Pipeline 兄弟聚合的一部分。因此,在您的场景中,您需要进行第一次查询(将最小值和最大值作为两个度量聚合https://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations-metrics.html)以获取最小值和最大值,然后重用数据以对 ES 进行第二次调用。

    【讨论】:

      【解决方案2】:

      已提出类似问题 - How to create a dynamic price range filter using elasticsearch

      以上帖子中的链接指向许多人从 elasticsearch 请求范围聚合的未解决问题/功能。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-08-31
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-05-27
        • 2017-12-25
        • 1970-01-01
        相关资源
        最近更新 更多