Elasticsearch 复合聚合
复合聚合是Elasticsearch中一种能够将多个聚合逻辑组合在一起的方式,可以实现更为复杂的数据分析。
以下是一个复合聚合的例子,假设我们有一个记录销售数据的Elasticsearch索引,我们想要计算每个州的销售总额和销售数量的平均值。
POST /sales/_search
{
"size": 0,
"aggs": {
"states": {
"terms": {
"field": "state.keyword",
"size": 10
},
"aggs": {
"average_sales_amount": {
"avg": {
"field": "sales_amount"
}
},
"average_sales_quantity": {
"avg": {
"field": "sales_quantity"
}
}
}
}
}
}
在这个例子中,我们首先通过terms
聚合按state.keyword
字段进行分组,然后在每个州的分组内部,我们计算了sales_amount
字段的平均值(销售总额的平均值)和sales_quantity
字段的平均值(销售数量的平均值)。这样我们就能得到每个州的销售总额和销售数量的平均值。
评论已关闭