zoukankan      html  css  js  c++  java
  • ElasticSearch(七):聚合分析简介

    ElasticSearch(七):聚合分析简介

    学习课程链接《Elasticsearch核心技术与实战》


    ## 什么是聚合(Aggregation) * ElasticSearch除了搜索外,还提供了针对ElasticSearch数据进行统计分析的功能 * 通过聚合,会得到一个数据的概览,这样就可以分析和总结全套的数据,而不是仅仅能寻找单个文档 * 易用性,只需要一条语句,就可以从ElasticSearch中得到分析结果,从而避免在客户端实现分析逻辑
    ## 聚合的分类 * Bucket Aggregation:一些列满足特定条件的文档集合,其相当于SQL中的Group By * Metric Aggregation:一些数学运算,可以对文档字段进行统计分析 - 其相当于SQL中对于字段进行运算的函数,如Sum、Count等。它除了可以在字段上进行计算,还可以在脚本产生的结果上进行计算 - 大多数Metric是数学计算,输出一个值,如:min/max/sum/avg/cardinality - 部分支持输出多个值,如:stats/percentiles/percentile_ranks * Pipeline Aggregation:对其他的聚合结果进行二次聚合 * Matrix Aggregation:支持对多个字段的操作并提供一个结果矩阵
    ## 一些聚合分析例子
    #按照目的地进行分桶统计
    GET kibana_sample_data_flights/_search
    {
    	"size": 0,
    	"aggs":{
    		"flight_dest":{
    			"terms":{
    				"field":"DestCountry"
    			}
    		}
    	}
    }
    
    #查看航班目的地的统计信息,增加平均,最高最低价格
    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
    				  }
    				}
    
    			}
    		}
    	}
    }
    
    


    作者:牧汜
    出处:http://www.cnblogs.com/czbxdd/
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

  • 相关阅读:
    【微信开发之问题集锦】redirect_uri 参数错误
    调度算法之时间片轮转算法
    快速排序算法分析和实现
    单链表(c语言实现)贼详细
    调度算法之最短作业优先算法
    HDU1027
    HDU1753 (大正小数相加)
    HDU 1715 (大数相加,斐波拉契数列)
    HDU 1316 (斐波那契数列,大数相加,大数比较大小)
    HDU1047(多个大数相加)
  • 原文地址:https://www.cnblogs.com/czbxdd/p/12033894.html
Copyright © 2011-2022 走看看