Elasticsearch 聚合基础:terms、avg、sum 等

Elasticsearch 的聚合功能是其强大搜索和分析能力的重要组成部分,它允许用户对存储在索引中的数据执行复杂的分析操作,如计算平均值、求和、分组等。在本文中,我们将深入探讨 Elasticsearch 的聚合基础,特别是 terms、avg 和 sum 聚合的使用。

一、Terms 聚合

Terms 聚合是 Elasticsearch 中最常用的聚合类型之一,它按照某个字段的值进行分组。例如,假设我们有一个酒店数据的索引,并希望按照品牌进行分组,以查看每个品牌的酒店数量。这时,我们可以使用 terms 聚合。

示例查询如下:

GET /hotel/_search
{"size": 0,"aggs": {"brand_terms": {"terms": {"field": "brand","size": 10}}}
}

在这个查询中,我们指定了 size 为 0,表示不返回具体的文档结果,只返回聚合结果。aggs 字段下定义了聚合的名称和类型,brand_terms 是我们给这个聚合起的名字,terms 表示我们要使用 terms 聚合。在 terms 聚合内部,我们指定了要按照 brand 字段进行分组,并且只返回前 10 个品牌。

二、Avg 聚合

Avg 聚合用于计算某个字段的平均值。例如,如果我们想知道每个品牌的酒店平均评分,我们可以在 terms 聚合内部嵌套一个 avg 聚合。

示例查询如下:

GET /hotel/_search
{"size": 0,"aggs": {"brand_terms": {"terms": {"field": "brand","size": 10},"aggs": {"avg_score": {"avg": {"field": "score"}}}}}
}

在这个查询中,我们在 terms 聚合内部又定义了一个名为 avg_score 的 avg 聚合,用于计算每个品牌的酒店平均评分。

三、Sum 聚合

Sum 聚合用于计算某个字段的总和。与 avg 聚合类似,sum 聚合也可以嵌套在 terms 聚合内部使用。

示例查询如下:

GET /hotel/_search
{"size": 0,"aggs": {"brand_terms": {"terms": {"field": "brand","size": 10},"aggs": {"total_rooms": {"sum": {"field": "rooms"}}}}}
}

在这个查询中,我们定义了一个名为 total_rooms 的 sum 聚合,用于计算每个品牌的酒店房间总数。

四、其他聚合

除了 terms、avg 和 sum 聚合之外,Elasticsearch 还提供了许多其他类型的聚合,如 min、max、stats(同时计算 min、max、avg、sum 等)等。这些聚合可以单独使用,也可以嵌套在其他聚合内部使用,以满足复杂的分析需求。

五、总结

Elasticsearch 的聚合功能为用户提供了强大的数据分析能力,可以轻松地按照不同的维度对数据进行分组和计算。通过合理使用 terms、avg、sum 等聚合类型,用户可以快速地获取到所需的分析结果,为业务决策提供有力的支持。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/36723.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

阿里云开启ssl证书过程记录 NGINX

🤞作者简介:大家好,我是思无邪,2024 毕业生,某厂 Go 开发工程师.。 🐂我的网站:https://www.yishanicode.top/ ,持续更新,希望对你有帮助。 🐞如果文章或网站…

【面试系列】数据科学家 高频面试题及详细解答

欢迎来到我的博客,很高兴能够在这里和您见面!欢迎订阅相关专栏: ⭐️ 全网最全IT互联网公司面试宝典:收集整理全网各大IT互联网公司技术、项目、HR面试真题. ⭐️ AIGC时代的创新与未来:详细讲解AIGC的概念、核心技术、…

实验 1 图像基本操作

1. 实验目的 ①熟悉 Photoshop 基本操作; ②掌握 Matlab 、PythonOpenCV 中处理图像的基本方法; ③掌握图像的半调转换和抖动转换。 2. 实验内容 ①Photoshop 基本操作:打开图像文件,选择区域,旋转、裁剪图像、图层…

os实训课程模拟考试(大题复习)

目录 一、Linux操作系统 (1)第1关:Linux初体验 (2)第2关:Linux常用命令 (3)第3关:Linux 查询命令帮助语句 二、Linux之进程管理—(重点) &…

青岛网站建设一般多少钱

青岛网站建设的价格一般会根据网站的规模、功能、设计风格等因素来定,价格会存在着一定的差异。一般来说,一个简单的网站建设可能在数千元到一万元之间,而一个复杂的大型网站建设可能会需要数万元到数十万元不等。所以在选择网站建设服务时&a…

大模型RAG、ROG、RCG概念科普

大模型相关目录 大模型,包括部署微调prompt/Agent应用开发、知识库增强、数据库增强、知识图谱增强、自然语言处理、多模态等大模型应用开发内容 从0起步,扬帆起航。 大模型应用向开发路径:AI代理工作流大模型应用开发实用开源项目汇总大模…

LeetCode.76 最小覆盖子串

问题描述 给你一个字符串 s 、一个字符串 t 。返回 s 中涵盖 t 所有字符的最小子串。如果 s 中不存在涵盖 t 所有字符的子串,则返回空字符串 "" 。 注意: 对于 t 中重复字符,我们寻找的子字符串中该字符数量必须不少于 t 中该字…

[Cloud Networking] BGP

1. AS (Autonomous System) 由于互联网规模庞大,所以网络会被分为许多 自治系统(AS-Autonomous system)。 所属类型ASN名称IPv4 数量IPv6数量运营商ISPAS3356LEVEL3 - Level 3 Parent, LLC, US29,798,83273,301,954,048互联网企业AS15169GO…

java接口自动化测试,怎样可以快速入门?

从0到1,快速入门Java接口自动化测试 Java接口自动化测试是一种自动化测试的方式,通过模拟用户发送HTTP请求并验证返回结果,来测试接口的正确性。它可以大大提高测试效率和覆盖率,减少人工测试的工作量。本文将从零开始&#xff0…

SaaS系统中的数据库设计探讨

在SaaS(Software as a Service)系统中,数据库设计是确保数据安全性、隔离性和高效访问的重要环节。SaaS应用通常需要处理多个租户的数据,每个租户可能有不同的数据需求和使用模式。因此,设计一个高效且安全的数据库架构…

【NodeJs】入门

目录 一、前导 二、 url模块 三、path模块 四、buffer模块 五、fs模块 六、stream流模块 七、os模块 八、crypto模块 九、util模块 十、http模块 nodejs官网 Node.js — 在任何地方运行 JavaScript nmp是Node.js包管理器,用来安装各种库、框架和工具&…

ForkJoin

线程数超过CPU核心数是没有任何意义的【因为要使用CPU密集型运算】 Fork/Join:线程池的实现,体现是分治思想,适用于能够进行任务拆分的 CPU 密集型运算,用于并行计算 任务拆分:将一个大任务拆分为算法上相同的小任务…

【鸿蒙】开发中设置热更新

鸿蒙系统(HarmonyOS)的热更新和热加载设置主要涉及开发环境和系统更新两个方面。以下是关于鸿蒙系统热更设置的详细步骤和相关信息: 开发环境热更新和热加载设置 在鸿蒙系统的开发环境中,实现热更新和热加载通常用于快速迭代和测…

pdf怎么转换成jpg,本地转换还是在线转换?

PDF(Portable Document Format)和JPG(Joint Photographic Experts Group)这两种文件格式在我们的日常生活和工作中扮演着举足轻重的角色。PDF因其跨平台、保持原样性强的特点,被广泛应用于文件传输和存储;而…

iCloud邮件全攻略:设置与使用终极指南

标题:iCloud邮件全攻略:设置与使用终极指南 摘要 iCloud邮件是Apple提供的一项邮件服务,允许用户在所有Apple设备上访问自己的邮件。本文将详细介绍如何在各种设备和邮件客户端上设置和使用iCloud邮件账户,确保用户能够充分利用…

百日筑基第六天-了解一下Dubbo

百日筑基第六天-了解一下Dubbo Dubbo 是一款高性能、轻量级的开源 WEB 和 RPC 框架。 Dubbo 提供了六大核心能力: 面向接口代理的高性能 RPC 调用。智能容错和负载均衡。服务自动注册和发现。高度可扩展能力。运行期流量调度。可视化的服务治理与运维。 简单来说…

代码随想三刷动态规划篇2

代码随想三刷动态规划篇2 62. 不同路径题目代码63. 不同路径 II题目代码343. 整数拆分题目代码96. 不同的二叉搜索树题目代码62. 不同路径 题目 链接 代码 class Solution {public int uniquePaths(int m, int n) {int[][]dp =</

技术周总结 2024.06.24~06.30(Python并发执行shell并发执行)

文章目录 一、 06.26 周三1.1&#xff09;问题01&#xff1a;怎么在mysql的命令行中查询出来 python能使用的元祖结果集1.2&#xff09;问题02&#xff1a;python中 set()是什么&#xff0c;怎么使用 二、06.27 周四2.1&#xff09;问题01&#xff1a;shell 并发执行2.2&#x…

从0到1搭建Java开发环境(内涵超详细教程、软件、提供网盘链接直接一步到位!!!!)

软件部分 需要的软件为下面两个&#xff1a; IDEANavicat 需要的可以自行拿&#xff08;安装教程和软件&#xff09;&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/1y3RoMt0ZapyJsj3P0DPaVA?pwdxr4p 提取码&#xff1a;xr4p 环境部分 需要的环境为以下几个&…

springboot+vue+mybatis奶茶管理系统+PPT+论文+讲解+售后

由于科学技术的快速发展&#xff0c;人们的生活也与信息时代的发展相关。同时&#xff0c;随着市场化和经济化的发展&#xff0c;国内很多行业已经意识到了这一点&#xff0c;为了提升行业的竞争力&#xff0c;就应当率先把握机会。于是在互联网的默化潜移影响下&#xff0c;餐…