如何在一个 ElasticSearch 查询中获取多个字段的百分位数

How to get percentiles for multiple fields in one ElasticSearch query

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

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

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

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

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