【Elasticsearch】分桶聚合功能概述

这些聚合功能可以根据它们的作用和应用场景分为几大类,以下是分类后的结果:

1.基础聚合(Basic Aggregations)

• Terms(字段聚合)

根据字段值对数据进行分组并统计。

例子:按产品类别统计销售数量。

• Histogram(直方图)

将数值数据分桶并统计每个桶内的数据数量。

例子:按年龄区间统计用户数量。

• Date histogram(日期直方图)

按固定时间间隔对日期数据进行分桶并统计。

例子:按月统计用户注册数量。

• Range(范围聚合)

根据数值范围对数据进行分桶并统计。

例子:按价格区间统计商品数量。

• Missing(缺失值)

统计缺失字段的数据。

例子:统计用户未填写地址的数量。

• Global(全局聚合)

对整个数据集进行全局统计。

例子:计算总销售额。

2.时间序列聚合(Time Series Aggregations)

• Date histogram(日期直方图)

按固定时间间隔对日期数据进行分桶并统计。

例子:按月统计用户注册数量。

• Auto-interval date histogram(自动间隔日期直方图)

根据数据的时间分布自动划分时间间隔,并生成直方图。

例子:分析网站访问日志,自动按小时或天生成访问量直方图。

• Time series(时间序列)

按时间顺序对数据进行聚合和分析,常用于趋势分析和预测。

例子:分析股票价格的时间序列变化。

3.地理聚合(Geospatial Aggregations)

• Geo-distance(地理距离)

根据地理坐标计算距离。

例子:计算用户与最近的门店之间的距离。

• Geohash grid(Geohash网格)

使用Geohash算法将地理区域划分为网格,并统计网格内的数据。

例子:统计不同地区的用户分布。

• Geohex grid(Geohex网格)

使用Geohex算法划分地理区域并统计数据。

例子:分析城市中不同区域的交通流量。

• Geotile grid(地理瓦片网格)

使用地理瓦片技术划分区域并统计数据。

例子:分析全球范围内的气象数据分布。

4.文本和分类聚合(Text and Categorization Aggregations)

• Categorize text(文本分类)

将文本数据归类到预定义的类别中。

例子:将新闻文章分类为体育、财经、娱乐等。

• Significant terms(显著项聚合)

找出数据中显著的项,通常用于文本分析,识别重要或异常的关键词。

例子:分析用户评论,找出显著的负面或正面词汇。

• Significant text(显著文本聚合)

找出文本数据中显著的文本片段,通常用于情感分析或异常检测。

例子:分析产品评论,找出显著的负面或正面评论片段。

5.采样和过滤聚合(Sampling and Filtering Aggregations)

• Filter(过滤器)

根据条件过滤数据。

例子:过滤出价格大于100元的商品。

• Filters(多过滤器)

使用多个过滤条件对数据进行分类。

例子:根据价格和品牌分类商品。

• Sampler(采样器)

从数据集中抽取样本进行聚合,用于减少计算量,提高性能。

例子:从大量日志数据中抽取10%的样本进行分析。

• Random sampler(随机采样器)

从数据集中随机抽取样本。

例子:从大量用户中随机抽取100个用户。

• Diversified sampler(多样化采样器)

从数据集中随机抽取多样化样本。

例子:从大量商品中随机抽取不同类别的样本。

6.嵌套和复杂结构聚合(Nested and Complex Structure Aggregations)

• Children(子聚合)

在嵌套文档结构中,对子文档进行聚合操作。

例子:在电商数据中,对订单中的商品明细进行聚合。

• Parent(父聚合)

在嵌套文档结构中,对父文档进行聚合操作。

例子:统计每个订单的总金额。

• Reverse nested(反向嵌套聚合)

在嵌套文档结构中,从子文档聚合到父文档。

例子:统计每个商品所属订单的数量。

• Nested(嵌套聚合)

在嵌套文档结构中进行聚合操作。

例子:在多级评论结构中统计评论数量。

• Composite(复合聚合)

结合多个聚合条件,生成更复杂的聚合结果。

例子:按地区和产品类别统计销售额。

7.统计和分析聚合(Statistical and Analytical Aggregations)

• Frequent item sets(频繁项集)

找出数据中频繁出现的项集。

例子:在购物篮中找出频繁购买的商品组合。

• Rare terms(稀有项聚合)

找出数据中出现频率较低的项。

例子:找出罕见的用户行为。

• Variable width histogram(可变宽度直方图)

根据数据分布动态调整直方图的桶宽度,适合处理数据分布不均匀的情况。

例子:分析用户收入分布,动态调整桶宽度以更好地展示数据。

• Subtleties of bucketing range fields(范围字段分桶的微妙之处)

在对范围字段进行分桶时需要注意的细节,例如如何处理边界值、如何选择合适的桶宽度等。

例子:在按价格区间分桶时,需要考虑是否包含边界值。

8.网络和IP聚合(Network and IP Aggregations)

• IP prefix(IP前缀)

根据IP地址的前缀进行聚合。

例子:按IP段统计访问来源。

• IP range(IP范围)

统计特定IP范围内的数据。

例子:统计来自某个IP段的流量。

---

通过这样的分类,可以更清晰地理解每种聚合功能的用途和适用场景,便于在实际数据分析中选择合适的工具。

按照聚合功能是否涉及单个桶(Single Bucket)或多个桶(Multi-Bucket)进行分类,可以将这些聚合功能分为两大类。单桶聚合主要用于对整个数据集或特定子集进行全局统计,而多桶聚合则用于将数据划分到多个桶中进行分组统计。


1.单桶聚合(Single Bucket Aggregations)
单桶聚合通常用于对整个数据集或特定子集进行全局统计,不涉及将数据划分到多个桶中。


1.1 Global(全局聚合)

• 作用:对整个数据集进行全局统计,不考虑数据的分组或分桶。

• 例子:计算总销售额。

• 响应:返回整个数据集的总销售额。


1.2 Missing(缺失值聚合)

• 作用:统计缺失字段的数据。

• 例子:统计用户未填写地址的数量。

• 响应:返回缺失地址的用户数量。


1.3 Filter(过滤器聚合)

• 作用:根据条件过滤数据后进行统计。

• 例子:过滤出价格大于100元的商品数量。

• 响应:返回符合条件的商品数量。


1.4 Sampler(采样器聚合)

• 作用:从数据集中抽取样本进行聚合。

• 例子:从大量日志数据中抽取10%的样本进行分析。

• 响应:返回抽取样本的聚合结果。


1.5 Reverse Nested(反向嵌套聚合)

• 作用:在嵌套文档结构中,从子文档聚合到父文档。

• 例子:统计每个商品所属订单的数量。

• 响应:返回每个商品所属订单的总数。


2.多桶聚合(Multi-Bucket Aggregations)
多桶聚合用于将数据划分到多个桶中进行分组统计,每个桶代表一个特定的分组条件。


2.1 Terms(字段聚合)

• 作用:根据字段值对数据进行分组并统计。

• 例子:按产品类别统计销售数量。

• 响应:返回每个产品类别的销售数量,例如“电子产品:100件,服装:200件”。


2.2 Histogram(直方图)

• 作用:将数值数据分桶并统计每个桶内的数据数量。

• 例子:按年龄区间统计用户数量。

• 响应:显示每个年龄区间的用户数量。


2.3 Date Histogram(日期直方图)

• 作用:按固定时间间隔对日期数据进行分桶并统计。

• 例子:按月统计用户注册数量。

• 响应:显示每月注册用户数的变化趋势。


2.4 Range(范围聚合)

• 作用:根据数值范围对数据进行分桶并统计。

• 例子:按价格区间统计商品数量。

• 响应:显示每个价格区间的商品数量。


2.5 Date Range(日期范围聚合)

• 作用:统计特定日期范围内的数据。

• 例子:统计2024年1月1日至2024年12月31日内的订单数量。

• 响应:返回该日期范围内的订单总数。


2.6 Geo-Distance(地理距离聚合)

• 作用:根据地理坐标计算距离并分桶。

• 例子:计算用户与最近的门店之间的距离。

• 响应:返回距离最近的门店及其距离。


2.7 Geohash Grid(Geohash网格聚合)

• 作用:使用Geohash算法将地理区域划分为网格,并统计网格内的数据。

• 例子:统计不同地区的用户分布。

• 响应:显示每个网格内的用户数量。


2.8 Geohex Grid(Geohex网格聚合)

• 作用:使用Geohex算法划分地理区域并统计数据。

• 例子:分析城市中不同区域的交通流量。

• 响应:显示每个区域的流量分布。


2.9 Geotile Grid(地理瓦片网格聚合)

• 作用:使用地理瓦片技术划分区域并统计数据。

• 例子:分析全球范围内的气象数据分布。

• 响应:显示每个瓦片区域的气象数据。


2.10 IP Range(IP范围聚合)

• 作用:统计特定IP范围内的数据。

• 例子:统计来自某个IP段的流量。

• 响应:返回该IP范围内的流量数据。


2.11 Multi Terms(多字段聚合)

• 作用:根据多个字段进行分组并统计。

• 例子:按国家和城市统计用户数量。

• 响应:显示每个国家和城市的用户数量。


2.12 Composite(复合聚合)

• 作用:结合多个聚合条件,生成更复杂的聚合结果。

• 例子:按地区和产品类别统计销售额。

• 响应:显示每个地区不同产品的销售额。


2.13 Significant Terms(显著项聚合)

• 作用:找出数据中显著的项,通常用于文本分析。

• 例子:分析用户评论,找出显著的负面或正面词汇。

• 响应:返回显著的关键词及其重要性评分。


2.14 Significant Text(显著文本聚合)

• 作用:找出文本数据中显著的文本片段。

• 例子:分析产品评论,找出显著的负面或正面评论片段。

• 响应:返回显著的文本片段及其重要性评分。


2.15 Variable Width Histogram(可变宽度直方图)

• 作用:根据数据分布动态调整直方图的桶宽度。

• 例子:分析用户收入分布,动态调整桶宽度以更好地展示数据。

• 响应:显示更合理的收入分布直方图。


2.16 Time Series(时间序列聚合)

• 作用:按时间顺序对数据进行聚合和分析。

• 例子:分析股票价格的时间序列变化。

• 响应:返回股票价格随时间的变化趋势。


2.17 Auto-Interval Date Histogram(自动间隔日期直方图)

• 作用:根据数据的时间分布自动划分时间间隔,并生成直方图。

• 例子:分析网站访问日志,自动按小时或天生成访问量直方图。

• 响应:显示每天的访问量峰值和低谷。


2.18 Frequent Item Sets(频繁项集聚合)

• 作用:找出数据中频繁出现的项集。

• 例子:在购物篮中找出频繁购买的商品组合。

• 响应:发现“牛奶+面包”是常见的购买组合。


2.19 Rare Terms(稀有项聚合)

• 作用:找出数据中出现频率较低的项。

• 例子:找出罕见的用户行为。

• 响应:返回出现次数较少的行为类型。


2.20 Diversified Sampler(多样化采样器)

• 作用:从数据集中随机抽取多样化样本。

• 例子:从大量商品中随机抽取不同类别的样本。

• 响应:返回包含不同类别商品的样本集合。


2.21 Random Sampler(随机采样器)

• 作用:从数据集中随机抽取样本。

• 例子:从大量用户中随机抽取100个用户。

• 响应:返回随机抽取的用户样本。


2.22 Nested(嵌套聚合)

• 作用:在嵌套文档结构中进行聚合操作。

• 例子:在多级评论结构中统计评论数量。

• 响应:返回每个顶级评论下的子评论数量。


2.23 Children(子聚合)

• 作用:在嵌套文档结构中,对子文档进行聚合操作。

• 例子:在电商数据中,对订单中的商品明细进行聚合。

• 响应:统计某个订单中不同商品的数量。


2.24 Parent(父聚合)

• 作用:在嵌套文档结构中,对父文档进行聚合操作。

• 例子:统计每个订单的总金额。

• 响应:返回每个订单的金额总和。


2.25 Categorize Text(文本分类聚合)

• 作用:将文本数据归类到预定义的类别中。

• 例子:将新闻文章分类为体育、财经、娱乐等。

• 响应:文本“NBA总决赛”被分类到“体育”类别。


---

总结

• 单桶聚合:主要用于全局统计,不涉及分组,适合对整个数据集或特定子集进行简单统计。

• 多桶聚合:用于将数据划分到多个桶中进行分组统计,适合对数据进行更细粒度的分析,例如按时间、数值范围或类别进行分组。

 

 

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

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

相关文章

mysql的cpu使用率100%问题排查

背景 线上mysql服务器经常性出现cpu使用率100%的告警, 因此整理一下排查该问题的常规流程。 1. 确认CPU占用来源 检查系统进程 使用 top 或 htop 命令,确认是否是 mysqld 进程导致CPU满载:top -c -p $(pgrep mysqld)2. 实时分析MySQL活动 …

使用jmeter进行压力测试

使用jmeter进行压力测试 jmeter安装 官网安装包下载,选择二进制文件,解压。 tar -xzvf apache-jmeter-x.tgz依赖jdk安装。 yum install java-1.8.0-openjdk环境变量配置,修改/etc/profile文件,添加以下内容。 export JMETER/…

【蓝桥杯嵌入式】6_定时器输入捕获

全部代码网盘自取 链接:https://pan.baidu.com/s/1PX2NCQxnADxYBQx5CsOgPA?pwd3ii2 提取码:3ii2 这是两个信号发生器,可以通过调节板上的两个电位器R39和R40调节输出频率。 将PB4、PA15选择ch1,两个信号发生器只能选择TIM3和TIM…

详解SQLAlchemy的函数relationship

在 SQLAlchemy 中,relationship 是一个非常重要的函数,用于定义模型之间的关系。它用于在 ORM 层面上表示数据库表之间的关联关系(如 1 对 1、1 对多和多对多)。relationship 的主要作用是提供一个高级接口,用于在模型…

iOS 音频录制、播放与格式转换

iOS 音频录制、播放与格式转换:基于 AVFoundation 和 FFmpegKit 的实现 在 iOS 开发中,音频处理是一个非常常见的需求,比如录音、播放音频、音频格式转换等。本文将详细解读一段基于 AVFoundation 和 FFmpegKit 的代码,展示如何实现音频录制、播放以及 PCM 和 AAC 格式之间…

数据结构与算法(test1)

一、树和二叉树 1. 看图,完成以下填空 (1).树的度为________。 (2).树中结点的最大层次,称为树的_____或树的______,值是______。 (3).结点A和B的度分别为________ 和 ________。 (4).结点A是结点B的________。 (5).结点B是结点A的________…

新版AndroidStudio 修改 jdk版本

一、问题 之前,在安卓项目中配置JDK和Gradle的过程非常直观,只需要进入Android Studio的File菜单中的Project Structure即可进行设置,十分方便。 如下图可以在这修改JDK: 但是升级AndroidStudio之后,比如我升级到了Android Stu…

cursor 开发java项目教程简单上手

1.官网下载 Cursor - The AI Code Editor 下载完后注册账号,可以使用无限邮的方式 注册完之后 设置中文 可以选择设置为中文 Ctrl Shift X 进入设置页面输入chinese 然后重启 更改jdk跟maven仓库设置 ctrlshiftp 打开输入框后输入json,把下面代码…

安装和使用 Ollama(实验环境windows)

下载安装 下载 https://ollama.com/download/windows 安装 Windows 安装 如果直接双击 OllamaSetup.exe 安装,默认会安装到 C 盘,如果需要指定安装目录,需要通过命令行指定安装地址,如下: # 切换到安装目录 C:\Use…

LQB(0)-python-基础知识

一、Python开发环境与基础知识 python解释器:用于解释python代码 方式: 1.直接安装python解释器 2.安装Anaconda管理python环境 python开发环境:用于编写python代码 1.vscode 2.pycharm # 3.安装Anaconda后可以使用网页版的jupyter n…

C# 中记录(Record)详解

从C#9.0开始,我们有了一个有趣的语法糖:记录(record)   为什么提供记录? 开发过程中,我们往往会创建一些简单的实体,它们仅仅拥有一些简单的属性,可能还有几个简单的方法,比如DTO等等&#xf…

使用 CSS 实现透明效果

在 CSS 中,实现透明效果有几种方法,具体使用哪种方法取决于具体需求。以下是一些常见的方法: 使用 opacity 属性: opacity 属性可以设置整个元素的透明度,包括其所有的子元素。 .transparent { opacity: 0.5; /* 0 表…

C语言:函数栈帧的创建和销毁

目录 1.什么是函数栈帧2.理解函数栈帧能解决什么问题3.函数栈帧的创建和销毁的过程解析3.1 什么是栈3.2 认识相关寄存器和汇编指令3.3 解析函数栈帧的创建和销毁过程3.3.1 准备环境3.3.2 函数的调用堆栈3.3.3 转到反汇编3.3.4 函数栈帧的创建和销毁 1.什么是函数栈帧 在写C语言…

25/2/6 <机器人基础> 运动学中各连杆的变换矩阵求法

变换矩阵 机器人通常包含多个关节和连杆,每个关节和连杆都有自己的局部坐标系。变换矩阵能够将一个点或向量从一个坐标系转换到另一个坐标系,从而实现对机器人各个部件位置和姿态的统一描述 变换矩阵能够将复杂的运动分解为旋转和平移的组合。通过矩阵乘…

AllData数据中台核心菜单十二:数据同步平台

🔥🔥 AllData大数据产品是可定义数据中台,以数据平台为底座,以数据中台为桥梁,以机器学习平台为中层框架,以大模型应用为上游产品,提供全链路数字化解决方案。 ✨奥零数据科技官网:…

【FPGA】 MIPS 12条整数指令 【3】

实现乘除 修改框架 EX:实现带符号乘除法和无符号乘除法 HiLo寄存器:用于存放乘法和除法的运算结果。Hi、Lo为32bit寄存器。电路描述与实现RegFile思想一致 仿真 代码 DataMem.v include "define.v"; module DataMem(input wire clk,input…

文件基础IO

理解"文件" 1-1 狭义理解 文件在磁盘里磁盘是永久性存储介质,因此文件在磁盘上的存储是永久性的磁盘是外设(即是输出设备也是输入设备)磁盘上的文件 本质是对文件的所有操作,都是对外设的输入和输出简称IO 1-2 广义理…

Unity 简易的UI框架

核心内容 UIType.cs namespace MYTOOL.UI {/// <summary>/// UI层级/// </summary>public enum UILayer{/// <summary>/// 主界面层/// </summary>MainUI 0,/// <summary>/// 普通界面层/// </summary>NormalUI 1,/// <summary>/…

VUE2双向绑定的原理

文章目录 VUE2双向绑定的原理1. 什么是双向绑定2. 双向绑定的原理2.1 ViewModel的重要作用2.2 双向绑定的流程 3. 双向绑定的实现3.1 data响应化处理3.2 Compile编译3.3 依赖收集 VUE2双向绑定的原理 1. 什么是双向绑定 讲双向绑定先讲单项绑定&#xff0c;啥叫单项绑定&…

4G核心网的演变与创新:从传统到虚拟化的跨越

4G核心网 随着移动通信技术的不断发展&#xff0c;4G核心网已经经历了从传统的硬件密集型架构到现代化、虚拟化网络架构的重大转型。这一演变不仅提升了网络的灵活性和可扩展性&#xff0c;也为未来的5G、物联网&#xff08;LOT&#xff09;和边缘计算等技术的发展奠定了基础。…