Elasticsearch - 针对聚合的查询字段

Elasticsearch - Query field against aggregation

我正在探索使用 elasticsearch 查询和聚合数据的便利性。但我无法在单个查询中转换和聚合数据,如下所示:

考虑数据:

有没有办法查询下面的结果 如下所示对值进行透视和聚合:

要求的结果:

{  
   {  
      "A":a1,
      "B":b1,
      "Value":3
   },
   {  
      "A":a1,
      "B":b2,
      "Value":3
   },
   {  
      "A":a2,
      "B":b2,
      "Value":4
   },
   {  
      "A":a1,
      "B":b3,
      "Value":11
   }
}

是的,您可以嵌套 AB 的两个 terms 聚合,就像这样,您将得到您期望的结果:

{
  "size": 0,
  "aggs": {
    "A": {
      "terms": {
        "field": "A"
      },
      "aggs": {
        "B": {
          "terms": {
            "field": "B"
          },
          "aggs": {
            "value_sum": {
              "sum": {
                "field": "Value1"
              }
            }
          }
        }
      }
    }
  }
}