根据某种规则 将搜索后的结果进行聚合
语法
"aggs": {
"聚合名称": {
"规则": {
}
}
}
比如
GET bank/_search
{
"query": {
"match_all": {}
},
"aggs": {
"age_term": {
"terms": {
"field": "age",
"size": 100
}
}
}
}
查询后的结果为
可以看出每个key为年龄 doc_count为每个年龄的数量
可以在aggregations中嵌套一个aggs对上一次查询的结果进行再次聚合
如 根据年龄进行聚合然后再统计处每个年龄的分组信息
GET bank/_search
{
"query": {
"match_all": {}
},
"aggs": {
"age_term": {
"terms": {
"field": "age",
"size": 100
},
"aggs": {
"age_avg": {
"avg": {
"field": "balance"
}
}
}
}
}
}
搜索结果: