当前位置: 首页 > article >正文

ES 聚合查询(四)-cnblog

我于黑夜中相信自己,相信自己一定能一往无前,即使我没有钱.

上一章简单介绍了 ES的复杂查询(三) , 如果没有看过,请观看上一章

这一篇,老蝴蝶带着大家学习一下聚合查询的相应操作.

聚合允许使用者对 es 文档进行统计分析,类似与关系型数据库中的 group by,

当然还有很 多其他的聚合,例如取最大值、平均值等等

使用 aggs

一. 查询最大值 max

如, 查询年龄的最大值

{
    "aggs":{
        "max_age":{
            "max":{"field":"age"}
        }
    },
    "size":0
}

类似于 max(age)

image-20230406205354822

二. 查询最小值 min

与 max 差不多

{
    "aggs":{
        "min_age":{
            "min":{"field":"age"}
        }
    },
    "size":0
}

类似于 min(size)

image-20230406205503762

三. 对字段求和 sum

{
    "aggs":{
        "sum_age":{
            "sum":{"field":"age"}
        }
    },
    "size":0
}

类似于 sum(age)

image-20230406205553190

四. 求平均值 avg

{
    "aggs":{
        "avg_age":{
            "avg":{"field":"age"}
        }
    },
    "size":0
}

类似于 avg(age)

image-20230406205628365

五. 对某个字段去重后再取总数

{
    "aggs":{
        "distinct_age":{
            "cardinality":{"field":"age"}
        }
    },
    "size":0
}

类似于 count(distinct(age))

image-20230406205746107

六. State 聚合

stats 聚合,对某个字段一次性返回 count,max,min,avg 和 sum五个指标

{
    "aggs":{
        "stats_age":{
            "stats":{"field":"age"}
        }
    },
    "size":0
}

image-20230406205835601

七. 桶聚合查询

相当于 group by

七.一 聚合, 分组统计

分组和聚合 没有 层级关系

{
    "aggs":{
        "age_groupby":{
            "terms":{"field":"age"}
        }
    },
    "size":0
}

为 select age, count(1) group by age , 展示的是 数量 。 24岁的有两个人.

image-20230406210014590

七.二 分组下再进行聚合

先进行分组, 再进行聚合, 有 层级关系

{
    "aggs":{
        "age_groupby":{
            "terms":{"field":"age"},
            "aggs":{
                "sum_age":{
                    "sum":{"field":"age"}
                }
            }
        }
    },
    "size":0
}

类似于 sum(age) , age group by age

image-20230406210226112



谢谢您的观看,如果喜欢,请关注我,再次感谢 !!!


http://www.kler.cn/a/6768.html

相关文章:

  • 如何解决JAVA程序通过obloader并发导数导致系统夯住的问题 | OceanBase 运维实践
  • 任务管理功能拆解——如何高效管理项目任务?
  • 5.4.2-1 编写Java程序在HDFS上创建文件
  • web——upload-labs——第十二关——%00截断
  • python高级之简单爬虫实现
  • 计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-11-04
  • Linux0.11 内核体系结构(八)
  • 【AUTOSAR】【Lin通信】LinTrcv
  • Linux基础操作 常用命令 Centos
  • 【VUE】vue打包后引入js和css用相对路径引入
  • C++编程大师之路:从入门到精通-通讯录管理系统
  • SpringBoot——SB整合mybatis案例(残缺版本)第四集(真*大结局)
  • Edge集锦没有同步按钮 - 待解决
  • JVM内存区域面试详解
  • tftp与ftp的异同
  • 队列(Queue)与双端队列 (Deque)
  • pdf压缩文件怎么压缩最小?办公常备软件
  • 一份详细 redis sentinel 哨兵架构搭建步骤<写于2023-04-06>
  • 考研数二第十二讲 复合函数、反函数、隐函数及参数方程所确定的函数的微分法与一阶微分形式的不变性
  • WT588D-32L 应用电路
  • VTK-vtkPolygon
  • 2000-2020年地级市进出口总额数据
  • 作为大学生,你还不会搭建chatGPT微应用吗?
  • 回溯算法的五类问题:组合、排列、子集、分割、棋盘
  • Java高频必背面试题基础篇02
  • Lumerical Zemax | 针对 OLED 的联合仿真