
Elasticsearch 聚合分析简介
什么是聚合(Aggregation)
聚合:对有关的数据进行内容挑选、分析、归类(筛选),最后分析得到人们想要的结果。Elasticsearch
除搜索以外,提供根据ES的数据进行统计分析的功能,并且实时性高。如果用Hadoop
来处理的话会要用1天的时间。通过聚合,我们会得到一个数据概览,是分析和总结全套的数据,而不是去寻找单个文档。
比如:获取多少价格之间的商品数量,最火热的销售商品排序。
同样也有高性能的特点,只需要一条语句,就可以从Elasticsearch
得到分析结果。无需在客户端自己实现分析逻辑。在Kibana中也是有可视化报告的聚合分析。
集合的分类
- Bucket Aggregation - 一些列满足特定条件的文档的集合
- Metric Aggregation - 一些数学运算,可以对文档字段进行统计分析
- Pipeline Aggregation - 对其他的具体结果进行二次聚合
- Matrix Aggregation - 支持对多个字段的操作并提供一个结果矩阵
Bucket & Metric
Bucket 的例子(多种划分的文档)
Metric 会基于数据集计算结果,除了支持在字段上进行计算,同样也支持在脚本产生的结果之上进行计算。大多数 Metric 是数学计算,仅输出一个值 min / max / sum / avg / cardinality
。 部分 Metric 支持输出多个数值 stats / percentiles / percentile_ranks
。
Demo示范
首先请大家安装好航空测试数据,如不知道如何装载的请按照下图所示
Bucket Demo
这里我们目的地进行分桶统计,在结果中对其进行了分组
GET kibana_sample_data_flights/_search
{
"size": 0,
"aggs":{
"flight_dest":{
"terms":{
"field":"DestCountry"
}
}
}
}
Metric Demo
查看航班目的地的统计信息,增加平均,最高最低价格
GET kibana_sample_data_flights/_search
{
"size": 0,
"aggs":{
"flight_dest":{
"terms":{
"field":"DestCountry"
},
"aggs":{
"avg_price":{
"avg":{
"field":"AvgTicketPrice"
}
},
"max_price":{
"max":{
"field":"AvgTicketPrice"
}
},
"min_price":{
"min":{
"field":"AvgTicketPrice"
}
}
}
}
}
}
价格统计信息+天气信息(实现在字段中进行分组)
GET kibana_sample_data_flights/_search
{
"size": 0,
"aggs":{
"flight_dest":{
"terms":{
"field":"DestCountry"
},
"aggs":{
"stats_price":{
"stats":{
"field":"AvgTicketPrice"
}
},
"wather":{
"terms": {
"field": "DestWeather",
"size": 5
}
}
}
}
}
}
欢迎加群讨论技术,1群:677373950(满了,可以加,但通过不了),2群:656732739
评价
排名
2
文章
657
粉丝
44
评论
93
docker中Sware集群与service
尘叶心繁 : 想学呀!我教你呀
一个bug让程序员走上法庭 索赔金额达400亿日元
叼着奶瓶逛酒吧 : 所以说做程序员也要懂点法律知识
.net core 塑形资源
剑轩 : 收藏收藏
映射AutoMapper
剑轩 :
好是好,这个对效率影响大不大哇,效率高不高
一个bug让程序员走上法庭 索赔金额达400亿日元
剑轩 : 有点可怕
ASP.NET Core 服务注册生命周期
剑轩 :
http://www.tnblog.net/aojiancc2/article/details/167
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2025TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:
50010702506256


欢迎加群交流技术