根据某字段值聚集返回统计数据
#curl 写法
curl 'localhost:9200/get-together/_search?pretty' -H 'Content-Type:application/json' -d '{
"aggs":{
"top_tags":{
"terms":{
"field":"tags.verbatim"
}
}
}}'
# kibana主体写法
GET /get-together/_search
{
"aggs": {
"top_tags": {
"terms": {
"field": "tags.verbatim"
}
}
}
}
Elasticsearch提供了多种聚合类型,用于不同的分析目的
1.terms聚合-适用于统计字段值的分布情况
2.avg:计算平均值。
3.sum:计算总和。
4.min和max:找到最小值和最大值。
5.histogram:按照数值区间分桶。
6.date_histogram:按照时间间隔分桶。
7.range:基于预定义的范围分桶。
8.cardinality:计算字段的基数(不同值的数量)。
等等。
在指定查询中聚合
GET /get-together/_search
{
"query": {
"match": {
"name":"Denver"
}
},
"aggs": {
"top_tags": {
"terms": {
"field": "tags.verbatim"
}
}
}
}