• percentiles 百分位聚合

    • ‎百分位数显示出现一定百分比的观测值的点。

    • 默认统计的百分位数为:[ 1, 5, 25, 50, 75, 95, 99 ]

      请求示例:

    • GET latency/_search
      {"size": 0,"aggs": {"load_time_outlier": {"percentiles": {"field": "load_time" }}}
      }

      返回:

    • {..."aggregations": {"load_time_outlier": {"values": {"1.0": 5.0,"5.0": 25.0,"25.0": 165.0,"50.0": 445.0,"75.0": 725.0,"95.0": 945.0,"99.0": 985.0}}}
      }

      查询统计加载时间load_time的百分位数情况,可知50%情况为445毫秒,比445毫秒快的不到50%,其余都是比445毫秒慢的,75%,95%,99%类似;

  • percentileRanks 百分位数排名

    • ‎百分位数排名显示低于特定值的观测值的百分比。例如,如果某个值大于或等于观测值的 95%,则称为第 95 百分位排名。‎

      ‎假设您的数据由网站加载时间组成。您可能有一个服务协议,即95%的页面加载在500毫秒内完成,99%的页面加载在600毫秒内完成。‎

    • 请求示例:

    • GET latency/_search
      {"size": 0,"aggs": {"load_time_ranks": {"percentile_ranks": {"field": "load_time",   "values": [ 500, 600 ]}}}
      }

      统计加载时间为500,600的百分排名情况;

    • 返回:

    • {..."aggregations": {"load_time_ranks": {"values": {"500.0": 90.01,"600.0": 100.0}}}
      }

      可知,500毫秒的占比为90.01%,600毫秒的为100%‎

    • 根据此信息,您可以确定您正在达到 99% 的加载时间目标,但未完全达到 95% 的加载时间目标‎

  • medianAbsoluteDeviation 中位数绝对偏差

    • 应用于数值类字段‎

    • ‎中位数绝对偏差是可变性的度量。它是一个可靠的统计量,这意味着它可用于描述可能具有异常值或可能不正态分布的数据。对于此类数据,它可以比标准偏差更具描述性。‎
    • 假设我们的数据以一到五星的比例表示产品评论。此类评论通常被总结为平均值,这很容易理解,但并不描述评论的可变性。估计中位数绝对偏差可以深入了解评论之间的差异。‎

      ‎在此示例中,我们有一个平均评级为 3 星的产品。让我们看一下其评级的绝对偏差中位数,以确定它们之间的差异有多大‎

    • 请求示例:

    • GET reviews/_search
      {"size": 0,"aggs": {"review_average": {"avg": {"field": "rating"}},"review_variability": {"median_absolute_deviation": {"field": "rating" }}}
      }

      返回:

    • {..."aggregations": {"review_average": {"value": 3.0},"review_variability": {"value": 2.0}}
      }

      可知中位数为3.0,即评价的中位数为三星,而可变性为2,与中位数相差不多,说明此评价的可变性大;

  • cardinality 基数聚合

    • ‎计算非重复值的近似计数的指标聚合
    • 类似去重
    • 请求示例:
    • POST /sales/_search?size=0
      {"aggs": {"type_count": {"cardinality": {"field": "type"}}}
      }

      返回:

    • {..."aggregations": {"type_count": {"value": 3}}
      }

      可知,不同的商品种类有3种;

  • topHits 点滴聚合

    • ‎指标聚合器跟踪要聚合的最相关的文档。此聚合器旨在用作子聚合器,以便可以聚合每个存储桶中匹配的顶级文档。‎
    • 不推荐用作最外层聚合
    • 支持nested嵌套聚合和reverse_nested反向嵌套聚合
    • 聚合后,每一个聚合Bucket里面仅返回指定顺序的前N条数据。
    • 应用场景:
      • 统计每个班级中的期末成绩总分最高的两个人,我们可以先按班级聚合,再应用top_hits统计按总分排序
    • 详细参照:官网
  • scriptedMetric 脚本度量聚合

    • 应用script脚本,自定义聚合条件,高度自制
    • 请求示例:
    • POST ledger/_search?size=0
      {"query": {"match_all": {}},"aggs": {"profit": {"scripted_metric": {"init_script": "state.transactions = []", "map_script": "state.transactions.add(doc.type.value == 'sale' ? doc.amount.value : -1 * doc.amount.value)","combine_script": "double profit = 0; for (t in state.transactions) { profit += t } return profit","reduce_script": "double profit = 0; for (a in states) { profit += a } return profit"}}}
      }

      返回:

    • {"took": 218,..."aggregations": {"profit": {"value": 240.0}}
      }

      ‎上面的聚合演示了如何使用脚本聚合计算销售和成本交易的总利润。‎

Elasticsearch 7.X-8.0 AggregationBuliders 相关聚合函数(一)计数指标-百分位数相关推荐

  1. Elasticsearch 7.X-8.0 AggregationBuliders 相关聚合函数(二)桶聚合-嵌套查询

    global 全局聚合 定义搜索执行上下文中所有文档的单个存储桶.此上下文由要搜索的索引和文档类型定义,但不受搜索查询‎‎本身的影响.‎ ‎全局聚合器只能作为顶级聚合器放置,因为将全局聚合器嵌入到另一 ...

  2. mysql相关聚合函数应用商品分类表

    多表查询 一.多表之间建表关系分析 ​ 一对多:商品和分类 ​ 一对一:人和身份证(比较少) ​ 多对多:课程和学生 ​ 拆分成2个1对多的关系,建立一个中间表,让中间表的两个外键分别去指向两张表的主 ...

  3. hql查询过滤器及相关聚合函数查询详解

    一.参数查询 参数查询其实是使用等价代换的方法,使用设置的值替换字符串中指定位置的符号,或者通过使用参数名称,使用字符串来替换参数名称的值,这样能避免sql注入的问题,拼接字符串会出现sql注入的问题 ...

  4. 第一章 聚合函数概述

    文章目录 第一章 聚合函数概述 支持聚合函数 使用聚合函数 组合聚合和字段 列名和别名 使用ORDER BY DISTINCT关键字子句 使用DISTINCT和GROUP BY 行数 聚合.事务和锁定 ...

  5. 第十三章 SQL聚合函数 XMLAGG

    文章目录 第十三章 SQL聚合函数 XMLAGG 大纲 参数 描述 XML和XMLAGG XMLAGG和ORDER BY 相关聚合函数 示例 第十三章 SQL聚合函数 XMLAGG 一个聚合函数,它创 ...

  6. ElasticSearch 文档检索、查询建议、数据聚合

    目录 结构化搜索 term 单词匹配(单个值) terms 单词匹配(多个值) range 范围查询 exists 存在查询.miss 缺失查询 ids id匹配 prefix 前缀匹配 wildca ...

  7. 阿里云PyODPS 0.7.18发布,针对聚合函数进行优化同时新增对Python 3.7支持

    近日,阿里云发布PyODPS 0.7.18,主要是针对聚合函数进行优化同时新增对Python 3.7支持. PyODPS是MaxCompute的Python版本的SDK,SDK的意思非常广泛,辅助开发 ...

  8. elasticsearch学习笔记--聚合函数篇

    Elasticsearch 有一个功能叫聚合(aggregations),允许我们基于数据生成一些精细的分析结果.聚合与 SQL 中的 GROUP BY 类似但更强大. 首先看一下我当前megacor ...

  9. web2.0及其相关技术

    一    什么是web2.0? 1     产生的背景 1)        互联网质的变化-互联网正在升级换代 截至2005 年12 月底,全球有9 亿多互联网用户,中国有1.11 亿多互联网用户. ...

最新文章

  1. shell 读取配置文件
  2. python从1到n出现了多少个1-【算法21】从1到n的正数中1的出现次数
  3. 在Linux下安装aws命令行操作
  4. html js更改title,如何使用js改变HTML中title里面固定的文字
  5. Unity3D 自定义数据格式
  6. 前端学习(1057):面向对象目标
  7. pip 安装 scipy 出现错 no lapack/blas resources
  8. openlayers2 开发如何判断一个marker所在的点是否在一个多边形内部
  9. python递归函数基例_函数和代码复用 --Python
  10. Subclipse与Subversive比较
  11. [NLP] 中文文本相似度实战
  12. J2EE,J2SE,J2ME三者有什么不同?
  13. docker快速搭建http服务器
  14. Kali Linux入门
  15. 分享两篇适合程序员看的书籍——《谁动了我的奶酪》、《你的灯亮着吗?》读后感
  16. 爱奇艺自主研发的动态化框架!
  17. pandas.Series.plot的简单参数使用说明
  18. eclipse @override 报错 解决
  19. javascript百炼成仙 第一章 掌握JavaScript基础1.4数据类型
  20. 「 SLAM lesson-2.3 」SLAM数学描述、运动方程、观测方程

热门文章

  1. 用BitmapShader实现圆形图片
  2. 如何给电脑系统重置系统?方法其实很简单
  3. gps测试软件怎么算正常,完整的GPS测试和经济实用的解决方案
  4. php notice 影响,PHP notice/warning 对性能的影响
  5. [论文笔记]Self-Attention Generative Adversarial Networks
  6. HTML5游戏开发实战
  7. 利用LSTM 做文本分类
  8. Oracle Spatial中上载GIS空间数据方法研究
  9. 睡不着听什么音乐睡得快,失眠入睡音乐歌单推荐
  10. linux xmanager使用教程,Xmanager企业版中各软件功能简介