ES-聚合分析
ES的聚合分析
什么是ES的聚合分析
- ElasticSearch除搜索意外,提供的针对ES数据进行统计分析的功能
- 通过聚合,我们会得到一个数据的概览,是分析和总结全套的数据,而不是寻找单独的文档
- 高性能,只要一条语句就可以得到分析结果
聚合分类
Bucket Aggregation 一些满足特定条件的文档的集合
- Terms Aggregation:这种分桶策略是按照词条(term)来分桶,类似于SQL中的group by语法。如果是text类型,则按照分词后的结果分桶。例如,可以按照省份或用户名等字段进行分桶。
GET xby_index_users/_search
{
"size": 0,
"aggs": {
"birth_place_bucket": {
"terms": {
"field": "birth_place"
}
}
}
}
- Range Aggregation:通过指定数值的范围来设定分桶规则。可以定义多个范围,文档会根据这些范围被分配到不同的桶中。
GET xby_index_users/_search
{
"size": 0,
"aggs": {
"age_bucket": {
"range": {
"field": "age",
"ranges": [
{ "from": 0, "to": 30 },
{ "from": 30, "to": 60 },
{ "from": 60, "to": 90 }
]
}
}
}
}
- Histogram Aggregation:直方图分桶,以固定间隔的策略来分割数据。可以指定间隔大小(interval)和数据范围(extended_bounds)。
GET xby_index_users/_search
{
"size": 0,
"aggs": {
"age_bucket": {
"histogram": {
"field": "age",
"interval": 30
}
}
}
}
- Date Histogram Aggregation:日期直方图分桶,根据日期阶梯分组,例如给定阶梯为周,会自动每周分为一组。
GET xby_index_users/_search
{
"size": 0,
"aggs": {
"birthday_bucket": {
"date_histogram": {
"field": "birthday",
"calendar_interval": "year"
}
}
}
}
Metric Aggregation 一些数学运算,可以对文档字段进行统计分析
- 仅输出一个值的运算
min/max/sum/avg/cardinality
GET xby_index_users/_search
{
"size": 0,
"aggs": {
"age_avg": {
"avg": {
"field": "age"
}
},
"age_max": {
"max": {
"field": "age"
}
},
"age_min": {
"min": {
"field": "age"
}
},
"age_sum": {
"sum": {
"field": "age"
}
},
"age_cardinality": {
"cardinality": {
"field": "age"
}
}
}
}
- 输出多个值的运算
stats/percenties/percentile_ranks
GET xby_index_users/_search
{
"size": 0,
"aggs": {
"age_stats": {
"stats": {
"field": "age"
}
},
"age_percentiles": {
"percentiles": {
"field": "age"
}
}
}
}
Pipeline Aggregation 对其他运算结果的二次运算
GET xby_index_users/_search
{
"size": 0,
"aggs": {
"sales_per_month": {
"date_histogram": {
"field": "date",
"interval": "month"
},
"aggs": {
"sales": {
"sum": {
"field": "price"
}
}
}
},
"avg_monthly_sales": {
"avg_bucket": {
"buckets_path": "sales_per_month>sales"
}
}
}
}
原文地址:https://blog.csdn.net/Xbyou_1103591885/article/details/144760789
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!