首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Elasticsearch基本操作-聚合(二)

Elasticsearch基本操作-聚合(二)

原创
作者头像
堕落飞鸟
发布于 2023-05-08 10:48:30
发布于 2023-05-08 10:48:30
4310
举报
文章被收录于专栏:飞鸟的专栏飞鸟的专栏

管道聚合

管道聚合是一种将多个聚合操作串联起来的方式。可以在一个聚合操作中使用另一个聚合操作的结果,来进行更复杂的计算。以下是一个按照桶进行分组,并计算每个桶的平均值的管道聚合示例:

代码语言:javascript
复制
{
  "size": 0,
  "aggs": {
    "avg_price": {
      "avg": {
        "field": "price"
      }
    },
    "max_price": {
      "max": {
        "field": "price"
      }
    },
    "min_price": {
      "min": {
        "field": "price"
      }
    },
    "sum_price": {
      "sum": {
        "field": "price"
      }
    },
    "count_color": {
      "cardinality": {
        "field": "color.keyword"
      }
    },
    "group_by_color": {
      "terms": {
        "field": "color.keyword"
      },
      "aggs": {
        "avg_price": {
          "avg": {
            "field": "price"
          }
        },
        "max_price": {
          "max": {
            "field": "price"
          }
        },
        "min_price": {
          "min": {
            "field": "price"
          }
        },
        "sum_price": {
          "sum": {
            "field": "price"
          }
        }
      }
    }
  }
}

这个聚合查询可以同时计算文档中 price 字段的平均值、最大值、最小值、总和,以及 color 字段中不同值的个数。同时,对 color 字段进行聚合,可以得到每种颜色下的 price 字段的平均值、最大值、最小值、总和。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

目录
  • 管道聚合
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档