一、聚合函数(avg、sum、max、min...)
GET goods/fruit/_search
{
"size": 0 # 条数为0,只展示聚合结果
"aggs": {
# avg_age聚合后的别名(随意起)
"avg_age": {
"avg": {
"fields": "age"
}
}
}
}
二、条件聚合
"""
注意:聚合函数的使用,一定是先查询,再聚合
"""
1、GET goods/fruit/_search (分组后再聚合)
{
"size": 0 # 条数为0,只展示聚合结果
"query": {
"match": {
"name": "zqx"
}
}
"aggs": {
# avg_age聚合后的别名(随意起)
"avg_age": {
"avg": {
"fields": "age"
}
}
}
}
2、GET goods/fruit/_search复杂条件聚合
{
"query": {
"bool": {
"must": [
{
"match": {
"name": "zqx"
}
}
],
"filter": {
"range": {
"age": {
"gte": 18
}
}
}
}
},
"aggs": {
"avg_age": {
"avg": {
"field": "age"
}
}
}
}
三、嵌套聚合
GET goods/_search
{
"size": 0
"aggs": {
"agessssss": {
# 分段聚合
"range": {
"field": "age",
"range": [
{
"from": 0,
"to": 10
},
{
"from": 10,
"to": 20
},
{
"from": 20,
"to": 30
},
]
},
"aggs": {
"sum_ages": {
"sum": {
"field": "age"
}
}
}
}
}
}