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

Elasticsearch 度量(Metric)聚合详解及示例

Elasticsearch 提供了强大的聚合功能,允许用户对数据进行深入的统计分析。度量(Metric)聚合是其中一种,它用于对数值型数据进行计算,如求和、平均值、最大值、最小值等。本文将详细介绍 Elasticsearch 的度量聚合,并提供完整的示例和解释。

度量聚合基础

度量聚合用于执行数值计算,它可以帮助我们快速获得数据集的关键统计信息。常见的度量聚合包括:

  • Avg:计算平均值。
  • Sum:计算总和。
  • Min:找出最小值。
  • Max:找出最大值。
  • Stats:同时计算多个度量指标,如最大值、最小值、平均值和总和。

示例:Stats 聚合

假设我们有一个酒店数据索引,我们想要计算每个酒店品牌的用户评分的最小值、最大值和平均值。

DSL 查询

GET /hotel/_search
{"size": 0,"aggs": {"brandAgg": {"terms": {"field": "brand","size": 20},"aggs": {"score_stats": {"stats": {"field": "score"}}}}}
}

解释

  • size: 0 表示我们不需要原始文档的列表,只关心聚合结果。
  • aggs:定义聚合的区域。
  • brandAgg:为聚合操作定义的名称,这里使用了 Terms 聚合按品牌分组。
  • terms:指定聚合类型为词条聚合,field 指定聚合字段为 brandsize 限制返回的品牌数量。
  • score_stats:在 Brands 聚合内部定义的子聚合,用于计算评分统计。
  • stats:聚合类型,用于计算 score 字段的多个统计指标。

嵌套度量聚合

度量聚合可以嵌套在其他聚合内部,例如在桶聚合内部计算每个桶的度量指标。

DSL 查询

GET /hotel/_search
{"size": 0,"aggs": {"brandAgg": {"terms": {"field": "brand","size": 20,"order": {"_count": "asc"}},"aggs": {"scoreAgg": {"stats": {"field": "score"}}}}}
}

解释

  • order:指定 Bucket 聚合结果的排序方式,这里按照 _count 升序排列。
  • scoreAgg:在 Brands 聚合内部定义的另一个子聚合,用于计算每个品牌评分的统计数据。

结语

度量聚合是 Elasticsearch 中进行数值计算的重要工具。通过本篇文章的示例和解释,你应该对如何使用度量聚合有了更深入的理解。无论是计算平均评分、总和、最大值还是最小值,度量聚合都能提供灵活且强大的支持。掌握度量聚合的使用,将有助于你更有效地进行数据分析和探索。希望本文能够帮助你在实际项目中更好地利用 Elasticsearch 的聚合功能。

http://www.lryc.cn/news/422778.html

相关文章:

  • 基于 jsp 的健身俱乐部会员系统设计与实现
  • 苍穹外卖项目DAY01
  • SpringBoot(Ⅰ)——HelloWorld和基本打包部署+Pom依赖概述+@SpringBootApplication注解+自动装配原理+约定大于配置
  • [Unity]关闭URP的SRP,开启GPU Instancing。
  • 04创建型设计模式——建造者模式
  • 前端开发中的代码规范
  • WHAT - 远程控制机制
  • 苹果手机录音功能在哪里?3招轻松打开手机录音
  • RCE之突破长度限制
  • Arduino控制带编码器的直流电机速度
  • LangChain与Elasticsearch向量数据库的完美结合
  • element时间段选择器或时间选择器 只设置默认起始时间或者结束时间,不显示问题
  • Vue 3 中,组件间传值有多种方式
  • 前置(3):npm 和npx异同点
  • 笔记(day17)集合概述、List、Set、比较器
  • C语言从头学45——I/O函数(二)
  • Python爬虫——爬取bilibili中的视频
  • 为什么企业电销要用外呼系统
  • Keepalived + Nginx 主备容灾方案介绍
  • PHP、JavaScript代码审计工具
  • 《向量数据库指南》——Ray Data+Anyscale解锁价值评估新篇章
  • 知识改变命运 数据结构【杨辉三角(顺序表)】
  • Docker三剑客之Docker Engine
  • 【Qt】信号与槽(下)
  • 多模态大语言模型(MMLLM)的现状、发展和潜力
  • Linux中apache服务安装与mysql安装
  • Sublime Text常用快捷键
  • 高危漏洞CVE-2024-38077的修复指南
  • docker基本管理和应用
  • AI招聘在人才盘活中的作用:开启智慧人力新篇章