【问题标题】:Sum Bucket aggregation for the buckets with certain keysSum Bucket 聚合具有特定键的存储桶
【发布时间】:2018-01-25 15:10:16
【问题描述】:

我正在使用它来按type 字段聚合我的文档:

       "aggs": {
        "types": {
          "terms": {
            "field": "type"
          },
          "aggs": {
            "my_sum": {
              "sum": {
                "field": "price"
              }
            }
          }
        },
        "total_sum": {
          "sum_bucket": {
            "buckets_path": "types.my_sum"
          }
        }
      }

所以在每个桶中都有my_sum 值(与该桶键类型相同的文档的所有价格的总和),而total_sum 是所有这些my_sum 值的总和。我真正需要的是仅当桶的键(type)为1或2时计算my_sum值的总和。有什么办法吗?

提前致谢。

【问题讨论】:

    标签: elasticsearch


    【解决方案1】:

    我刚刚发现弹性搜索聚合filtering values可以解决我的问题:

    "aggs": {
        "types": {
          "terms": {
            "field": "type",
            "include": [
               1,
               2
             ]
          },
          "aggs": {
            "my_sum": {
              "sum": {
                "field": "price"
              }
            }
          }
        },
        "total_sum": {
          "sum_bucket": {
            "buckets_path": "types.my_sum"
          }
        }
      }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-04-02
      • 1970-01-01
      • 1970-01-01
      • 2016-09-08
      • 2017-09-22
      • 1970-01-01
      • 1970-01-01
      • 2020-09-04
      相关资源
      最近更新 更多