本文主要是介绍ElasticSearch之聚合aggs,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
写在前面
本文看下es的聚合相关内容。
1:什么是聚合
即,数据的统计分析。如sum,count,avg,min,max,分组等。
2:支持哪些聚合类型
2.1:bucket aggregation
对满足特定条件的文旦进行分组。如:
2.1:metric aggregation
数学运算。如:
2.3:pipeline aggregation
对聚合的结果进行再一次的聚合。
2.4:matrix aggregation
对多个字段操作并提供一个结果矩阵???嘛意思???
3:实战
测试数据参考这里 。但如果你是按照专栏顺序看的,我想你本地已经有这些数据了。
3.1:bucket aggregation
按照飞行目的地分组:
GET kibana_sample_data_flights/_search
{"size": 0,"aggs": {"飞行目的地分组": {"terms": {"field": "DestCountry"}}}
}
3.2:metric aggregation
按照飞行目的地分组后,对分组的数据取最大最小和平均值。
GET kibana_sample_data_flights/_search
{"size": 0,"aggs": {"飞行目的地分组": {"terms": {"field": "DestCountry"},"aggs": {"票价平均值": {"avg": {"field": "AvgTicketPrice"}},"票价最大值": {"max": {"field": "AvgTicketPrice"}},"票价最小值": {"min": {"field": "AvgTicketPrice"}}}}}
}
按照飞行目的地分组后,通过stats取每个分组的统计信息(会列出min,max,avg等常用统计信息)
,并且对每个分组再按照天气做一次分组,并取前5条数据:
GET kibana_sample_data_flights/_search
{"size": 0,"aggs": {"飞行目的地分组": {"terms": {"field": "DestCountry"},"aggs": {"组内统计信息": {"stats": {"field": "AvgTicketPrice"}},"weatherrr": {"terms": {"field": "DestWeather","size": 5}}}}}
}
TODO 待补充!!!
写在后面
参考文章列表
这篇关于ElasticSearch之聚合aggs的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!