DSL实现Metrics 聚合

举例:

    我们要求获取每个品牌的用户评分的min、max、avg等值.

    我们可以利用stats聚合:(stats可以计算min、max、avg等)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# 嵌套聚合metric
GET /hotel/_search
{
"size":0,
"aggs": {
"brandAgg": {
"terms": {
"field": "brand.keyword",
"size": 20,
"order": {
"scoreAgg.avg": "desc"
}
},
"aggs": { // 是brands聚合的子聚合,也就是分组后对每组分别计算
"scoreAgg": { // 聚合名称
"stats": { // 聚合类型,这里stats可以计算min、max、avg等
"field": "score" // 聚合字段,这里是score
}
}
}
}
}
}