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

时间:2017-04-17 23:22:55

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

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

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

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

1 个答案:

答案 0 :(得分:2)

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

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