ElasticSearch6(五) restful风格 聚合查询-管道聚合

聚合分为三大类:

  • 度量聚合:在一组文档中对某一个数字字段进行计算得出指标值
  • 分组聚合:创建多个分组,每个分组都关联一个关键字和相关文档标准。当聚合执行的时候,所有的分组会根据自身标准评估每一个符合的文档。(分组聚合可以嵌套一个或者多个字聚合)
  • 管道聚合:这一类聚合的数据源是其他聚合的输出,然后进行相关指标的计算。

管道聚合

管道聚合工作于其他聚合产生输出结果而不是文档集。

bucket_path参数指定请求指标的路径

1. 平均分组聚合

用avg_bucket来表示

{

       "avg_bucket":{"bucket_path":"另一个聚合名称"}

}

计算每月销售总额和平均值

{
  "size":0,
  "aggs":{
    "sales_per_month":{
      "date_histogram":{
        "field":"sale",
        "interval":"month"
      },
      "aggs":{
        "sales":{
          "sum":{
            "field":"sale"
          }
        }
      }
    },
    "avg_month_sale":{
      "avg_bucket":{
        "buckets_path":"sales_per_month.sales"
      }
    }
  }
}

2. 总和平均聚合

用sum_bucket 和avg_bucket 用法差不多

3. 总和累计聚合

用cumulative_sum,这个累计表示 每一个bucket 都要加上前面的bucket

{
  "size":0,
  "aggs":{
    "sales_per_month":{
      "date_histogram":{
        "field":"sale",
        "interval":"month"
      },
      "aggs":{
        "sales":{
          "sum":{
            "field":"sale"
          }
        }
      },
		"cumulative_sale":{
		  "cumulative_sum":{
			"buckets_path":"sales"
		  }
		}
    }
  }
}

4. 最小、最大分组聚合

min_bucket  / max_bucket

5. 统计分组聚合

stats_bucket ,就是会计算出 count、min、max、avg

6. 百分比聚合

percentiles_bucket

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值