当前位置: 首页 > 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 的聚合功能。

相关文章:

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

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

基于 jsp 的健身俱乐部会员系统设计与实现

点击下载源码 基于 jsp 的健身俱乐部会员系统设计与实现 摘 要 目前我国虽然己经开发出了应用计算机操作的健身俱乐部管理系统,但管理软件,管理方法和管理思想三者往往相脱节。造成我国健身俱乐部信息管理系统极端化的缺陷。在国外健身俱乐部已经有了一…...

苍穹外卖项目DAY01

苍穹外卖项目Day01 1、软件开发整体介绍 1.1、软件开发流程 1.2、角色分工 项目经理:对整个项目负责,任务分配、把控进度产品经理:进行需求调研,输出需求调研文档、产品原型等UI设计师:根据产品原型输出界面效果图架…...

SpringBoot(Ⅰ)——HelloWorld和基本打包部署+Pom依赖概述+@SpringBootApplication注解+自动装配原理+约定大于配置

前言 如果SSM学的比较好,那么SpringBoot说白了就两件事:约定大于配置和自动装配 SpringBoot不会提供任何的功能拓展,完全依赖我们手动添加 所以SpringBoot的本质是一个依赖脚手架,可以快速集成配置各种依赖 1.1 SpringBoot相关依赖 创建…...

[Unity]关闭URP的SRP,开启GPU Instancing。

1. 对应材质的gpu instancing勾选上。 2. 游戏初始化时动态关闭SRP,或者在Graphics里全局关闭。动态关闭的代码如下: GraphicsSettings.useScriptableRenderPipelineBatching false; 模型合批的一些规则: 1. 模型一致。 2. 材质一致。 …...

04创建型设计模式——建造者模式

一、建造者模式简介 建造者模式(Builder Pattern)又被称为生成器模式。它旨在构建一个复杂对象的各个部分,而不需要指定该对象的具体类。该模式特别适用于对象的构建过程复杂且需要多个步骤的情况。建造者模式是一种对象创建型模式之一&…...

前端开发中的代码规范

引言 在前端开发中,遵循良好的代码规范是非常重要的。这不仅能提高代码的可读性和可维护性,还能帮助团队成员更好地协作。本文将介绍一些前端开发中常用的代码规范,并探讨它们的重要性。 1. 代码规范的重要性 1.1 可读性 良好的代码规范可…...

WHAT - 远程控制机制

目录 1. 客户端-服务器架构2. 连接建立3. 数据传输4. 通信协议5. 安全性6. 远程控制软件示例7. 操作流程示例 远程控制别人的电脑涉及到技术和安全多个方面。其基本机制通常包括以下几个方面: 1. 客户端-服务器架构 远程控制软件通常采用客户端-服务器架构&#x…...

苹果手机录音功能在哪里?3招轻松打开手机录音

无论是记录重要的会议内容、捕捉生活中的美好瞬间,还是进行语言学习,苹果手机的录音功能都能提供极大的便利。那么,苹果手机录音功能在哪里呢?本文将为您揭示苹果手机录音功能的藏身之处,并通过3个简单步骤&#xff0c…...

RCE之突破长度限制

我们在写webshell时通常会遇到过滤&#xff0c;但除了过滤之外还可能会有长度限制&#xff0c;这里就简单说一下关于RCE突破长度限制的技巧 突破16位 例如&#xff1a;PHP Eval函数参数限制在16个字符的情况下 &#xff0c;如何拿到Webshell&#xff1f; <?php $param …...

Arduino控制带编码器的直流电机速度

Arduino DC Motor Speed Control with Encoder, Arduino DC Motor Encoder 作者 How to control dc motor with encoder:DC Motor with Encoder Arduino, Circuit Diagram:Driving the Motor with Encoder and Arduino:Control DC motor using Encoder feedback loop: How …...

LangChain与Elasticsearch向量数据库的完美结合

在过去的一年中&#xff0c;生成式 AI (Generative AI) 领域取得了显著的进展。许多新的服务和工具应运而生。其中&#xff0c;LangChain 已成为构建大语言模型 (LLM) 应用程序&#xff08;例如检索增强生成 (RAG) 系统&#xff09;最受欢迎的框架之一。该框架极大地简化了原型…...

element时间段选择器或时间选择器 只设置默认起始时间或者结束时间,不显示问题

element时间段选择器或时间选择器 只设置默认起始时间或者结束时间&#xff0c;不显示问题 <div v-for"(item,index) in [a,b]":key"item"><el-date-pickerv-if"b"v-model"value1[item]"type"datetimerange"value-…...

Vue 3 中,组件间传值有多种方式

在 Vue 3 中&#xff0c;组件间传值有多种方式&#xff0c;以下是几种常见的方式 父组件向子组件传值&#xff08;通过 props&#xff09;&#xff1a;以下是几个父组件向子组件传值的示例&#xff1a;示例 1&#xff1a;传递字符串示例 2&#xff1a;传递数字示例 3&#xff1…...

前置(3):npm 和npx异同点

npm&#xff08;Node Package Manager&#xff09;和npx&#xff08;Node Package Execute&#xff09;是两个密切相关但用途不同的命令行工具&#xff0c;它们都是Node.js生态系统中的重要组成部分。 npm 用途&#xff1a;npm是Node.js的包管理器&#xff0c;主要用于安装、…...

笔记(day17)集合概述、List、Set、比较器

集合Collection 一.概述 ​ 集合可以理解为数据结构的封装,根据不同的特性及操作性能进行分类 二.继承体系 三.Collection中常用方法 ​ collection是集合中的父类,所以collection中的方法是所有集合中都有的 ​ 集合中只能保存引用类型(Object),无法保存基本类型 ​ Colle…...

C语言从头学45——I/O函数(二)

本文继续学习I/O函数&#xff0c;并延续前文的编号。 (三)、sscanf() 函数 sscanf() 函数与scanf() 有些相似&#xff0c;不同之处sscanf() 是从已有的字符串里面获取数据&#xff1b;这个函数也是定义在stdio.h中。 功能&#xff1a;处理已经输入到计算机中的字…...

Python爬虫——爬取bilibili中的视频

爬取bilibili中的视频 本次爬取&#xff0c;还是运用的是requests方法 首先进入bilibili官网中&#xff0c;选取你想要爬取的视频&#xff0c;进入视频播放页面&#xff0c;按F12&#xff0c;将网络中的名称栏向上拉找到第一个并点击&#xff0c;可以在标头中&#xff0c;找到…...

为什么企业电销要用外呼系统

电销要使用外呼系统的原因主要有以下几点&#xff1a; 一、提升工作效率 * **自动拨号**&#xff1a;外呼系统能够自动拨打客户电话&#xff0c;减少电销人员手动拨号的时间&#xff0c;让他们将更多精力集中在与客户的沟通和交流上。 * **数据记录与管理**&#xff1a;系统能…...

Keepalived + Nginx 主备容灾方案介绍

Keepalived Nginx 主备容灾方案介绍 *服务器**IP地址**角色*Srv01192.168.249.100 VIP: 192.168.249.110NginxKeepaliveSrv02192.168.249.101NginxKeepalive 概述 Keepalived 和 Nginx 的组合是一个常见的高可用性&#xff08;HA&#xff09;方案&#xff0c;尤其适用于 Web…...

XML Group端口详解

在XML数据映射过程中&#xff0c;经常需要对数据进行分组聚合操作。例如&#xff0c;当处理包含多个物料明细的XML文件时&#xff0c;可能需要将相同物料号的明细归为一组&#xff0c;或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码&#xff0c;增加了开…...

19c补丁后oracle属主变化,导致不能识别磁盘组

补丁后服务器重启&#xff0c;数据库再次无法启动 ORA01017: invalid username/password; logon denied Oracle 19c 在打上 19.23 或以上补丁版本后&#xff0c;存在与用户组权限相关的问题。具体表现为&#xff0c;Oracle 实例的运行用户&#xff08;oracle&#xff09;和集…...

Prompt Tuning、P-Tuning、Prefix Tuning的区别

一、Prompt Tuning、P-Tuning、Prefix Tuning的区别 1. Prompt Tuning(提示调优) 核心思想:固定预训练模型参数,仅学习额外的连续提示向量(通常是嵌入层的一部分)。实现方式:在输入文本前添加可训练的连续向量(软提示),模型只更新这些提示参数。优势:参数量少(仅提…...

ESP32读取DHT11温湿度数据

芯片&#xff1a;ESP32 环境&#xff1a;Arduino 一、安装DHT11传感器库 红框的库&#xff0c;别安装错了 二、代码 注意&#xff0c;DATA口要连接在D15上 #include "DHT.h" // 包含DHT库#define DHTPIN 15 // 定义DHT11数据引脚连接到ESP32的GPIO15 #define D…...

React Native在HarmonyOS 5.0阅读类应用开发中的实践

一、技术选型背景 随着HarmonyOS 5.0对Web兼容层的增强&#xff0c;React Native作为跨平台框架可通过重新编译ArkTS组件实现85%以上的代码复用率。阅读类应用具有UI复杂度低、数据流清晰的特点。 二、核心实现方案 1. 环境配置 &#xff08;1&#xff09;使用React Native…...

HBuilderX安装(uni-app和小程序开发)

下载HBuilderX 访问官方网站&#xff1a;https://www.dcloud.io/hbuilderx.html 根据您的操作系统选择合适版本&#xff1a; Windows版&#xff08;推荐下载标准版&#xff09; Windows系统安装步骤 运行安装程序&#xff1a; 双击下载的.exe安装文件 如果出现安全提示&…...

现代密码学 | 椭圆曲线密码学—附py代码

Elliptic Curve Cryptography 椭圆曲线密码学&#xff08;ECC&#xff09;是一种基于有限域上椭圆曲线数学特性的公钥加密技术。其核心原理涉及椭圆曲线的代数性质、离散对数问题以及有限域上的运算。 椭圆曲线密码学是多种数字签名算法的基础&#xff0c;例如椭圆曲线数字签…...

06 Deep learning神经网络编程基础 激活函数 --吴恩达

深度学习激活函数详解 一、核心作用 引入非线性:使神经网络可学习复杂模式控制输出范围:如Sigmoid将输出限制在(0,1)梯度传递:影响反向传播的稳定性二、常见类型及数学表达 Sigmoid σ ( x ) = 1 1 +...

视频行为标注工具BehaviLabel(源码+使用介绍+Windows.Exe版本)

前言&#xff1a; 最近在做行为检测相关的模型&#xff0c;用的是时空图卷积网络&#xff08;STGCN&#xff09;&#xff0c;但原有kinetic-400数据集数据质量较低&#xff0c;需要进行细粒度的标注&#xff0c;同时粗略搜了下已有开源工具基本都集中于图像分割这块&#xff0c…...

C++:多态机制详解

目录 一. 多态的概念 1.静态多态&#xff08;编译时多态&#xff09; 二.动态多态的定义及实现 1.多态的构成条件 2.虚函数 3.虚函数的重写/覆盖 4.虚函数重写的一些其他问题 1&#xff09;.协变 2&#xff09;.析构函数的重写 5.override 和 final关键字 1&#…...