【问题标题】:How to get percentiles for multiple fields in one ElasticSearch query如何在一个 ElasticSearch 查询中获取多个字段的百分位数
【发布时间】:2017-09-13 15:25:19
【问题描述】:

我学会了如何编写一个 ES 查询来计算百分位数,但它似乎适用于一个字段。如果我想要多个字段的百分位数,它不起作用。

 "aggs": {
        "distinct_UUID": {
            "terms": {
                "field": "cust_uuid"
            },
                "aggs": {
                  "perf_percentiles" : {
                "percentiles" : {
      "field":"A",
      "field":"B"
      }
      }

如果我在百分位数部分只有一个字段(字段 A 或 B,但不是两者),则上面的代码可以正常工作,但我希望有 10 个或更多字段。我该如何解决?

【问题讨论】:

    标签: elasticsearch elasticsearch-plugin elasticsearch-2.0 elasticsearch-5


    【解决方案1】:

    只需添加更多子聚合,每个字段一个:

    {
      "aggs": {
        "distinct_UUID": {
          "terms": {
            "field": "cust_uuid"
          },
          "aggs": {
            "percentile_a": {
              "percentiles": {
                "field": "A"
              }
            },
            "percentile_b": {
              "percentiles": {
                "field": "B"
              }
            },
            "percentile_c": {
              "percentiles": {
                "field": "C"
              }
            }
          }
        }
      }
    }
    

    【讨论】:

    • 谢谢!那很有帮助。我使用网站上的 ES Definitive Guide。您还有其他推荐的参考资料吗?
    • 酷,很高兴它有帮助。那和official documentation 是一个好的开始。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-26
    • 2022-06-29
    • 2016-07-05
    • 2023-01-27
    • 1970-01-01
    • 2022-01-03
    相关资源
    最近更新 更多