es聚合 aggs

聚合的分类

  1. matric聚合 :在一组文档中计算指标的聚合,如sum,min,max,avg

  2.bucket聚合 : 构建存储桶的一系列聚合。(分组,筛选)

  3.pipeline聚合 :聚合其他聚合的输出 及 其关联指标的聚合

  4.matrix聚合 :在多字段上进行一系列的聚合,并根据从请求的文档字段中提取的值生成矩阵结果。

 

 

 1. matric聚合

大概格式(还有用脚本计算的版本,先不记录)

POST student/_search  #用get也可以
{
  "size": 0,   #表示只显示聚合的值,不显示具体数据
  "aggs": {
    "name1": {
      "percentile_ranks": {  #关键字
        "field": "grade",   #聚合的字段
        "values": [       #不同关键字,可用的参数不一致(可省略)
          89,
          90
        ]
      }
    }
  }
}

关键字:

avg  平均值

weighted_avg 加权平均值

cardinality  (同distinct功能) 计数,精确计算-使用参数precision_threshold 值越大,占用内存越大,最高是40000,超过这个值也按这个值计算

      对于字符串且基数高,存储的字段值转化为hash值会更快

min  最小值

max 最大值

sum  求和

value_count    计数(如果是缺失值将会被忽略)

stats 多个度量值的聚合(sum,count,avg,min,max 都会显示)

extended_stats  多个度量值的聚合(sum,count,avg,min,max,sum_of_squares 平方, variance 方差, std_deviation 标准差, std_deviation_bounds平均值加/减两个标准差的区间)

percentiles 从聚合文档的数值上,提取一个或多个百分位数(1%,5%,25%,50%,75%,95%,99% 分布对应的值)如50%是小于一个值的。

percentiles_ranks 与percentiles相反,  指定小于等于的指定值的文档,统计占比

 

2.bucket聚合

terms  分桶

top_hits  桶分组后,取最顶端的值

 

posted on 2019-11-20 17:13  浅蓝色星光  阅读(3309)  评论(0编辑  收藏  举报