Elasticsearch 过滤器聚合
在Elasticsearch中,可以使用filters
聚合来对数据进行多个条件的筛选。以下是一个使用filters
聚合的例子:
POST /sales/_search
{
"size": 0,
"aggs": {
"sales_by_year": {
"filters": {
"filters": {
"2014": { "match": { "date": "2014-01-01" }},
"2015": { "match": { "date": "2015-01-01" }},
"2016": { "match": { "date": "2016-01-01" }},
"2017": { "match": { "date": "2017-01-01" }}
}
},
"aggs": {
"sales_amount": {
"sum": {
"field": "amount"
}
}
}
}
}
}
在这个例子中,我们创建了一个名为sales_by_year
的filters
聚合,它将销售数据按照年份进行分组,并计算每个年份的销售总额。每个过滤器条件是通过匹配date
字段来实现的,并且假设日期字段是按照年份的起始日期进行索引的。sum
聚合用来计算每个分组中amount
字段的总和。
评论已关闭