elasticsearc使用指南之ES管道聚合(Pipeline Aggregation)
GET /_search
{
"size": 0,
"aggs": {
"min_monthly_sales": {
"date_histogram": {
"field": "date",
"calendar_interval": "month"
},
"aggs": {
"sales_pipeline": {
"avg_bucket": {
"buckets_path": "min_sales_per_month>_count"
}
},
"min_sales_per_month": {
"min_bucket": {
"buckets_path": "sales_per_day"
}
},
"sales_per_day": {
"date_histogram": {
"field": "date",
"calendar_interval": "day"
},
"aggs": {
"sales": {
"sum": {
"field": "sales"
}
}
}
}
}
}
}
}
这个Elasticsearch查询的目的是计算每个月的最小销售总额,并计算每日的销售总额,然后使用管道聚合计算每个月的销售总额平均值。这个查询首先通过date_histogram
聚合按月分组数据,然后计算每个月内销售额最小的那天的销售额,最后计算每月销售额的平均值。这个查询可以帮助分析那些对消费者行为有重要影响的月度销售模式。
评论已关闭