【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.rhkb.cn/news/14305.html

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

相关文章

有用的sql链接

『SQL』常考面试题(2——窗口函数)_sql的窗口函数面试题-CSDN博客 史上最强sql计算用户次日留存率详解(通用版)及相关常用函数 -2020.06.10 - 知乎 (zhihu.com) 1280. 学生们参加各科测试的次数 - 力扣(LeetCode&…

排序算法--基数排序

核心思想是按位排序(低位到高位)。适用于定长的整数或字符串,如例如:手机号、身份证号排序。按数据的每一位从低位到高位(或相反)依次排序,每次排序使用稳定的算法(如计数排序&#…

将Deepseek接入pycharm 进行AI编程

目录 专栏导读1、进入Deepseek开放平台创建 API key 2、调用 API代码 3、成功4、补充说明多轮对话 总结 专栏导读 🌸 欢迎来到Python办公自动化专栏—Python处理办公问题,解放您的双手 🏳️‍🌈 博客主页:请点击——…

14:00面试,14:06就出来了,问的问题有点变态。。。

从小厂出来,没想到在另一家公司又寄了。 到这家公司开始上班,加班是每天必不可少的,看在钱给的比较多的份上,就不太计较了。没想到2月一纸通知,所有人不准加班,加班费不仅没有了,薪资还要降40%…

DeepSeek:知识图谱与大模型参数化知识融合的创新架构

引言:AI 领域的融合趋势 在目前大模型与知识图谱作为两个重要的研究方向,各自展现出了强大的能力与潜力。大模型,凭借其在海量数据上的深度训练,拥有强大的语言理解与生成能力,能够处理多种自然语言处理任务&#xff0…

69.弹窗显示复杂的数据框图 C#例子 WPF例子

这是一个复杂的功能实现,其中日志管理器的一个实例包含需要被绑定的数据源。由于主窗口被复杂的内容填满,因此需要设计一个弹窗来专门显示数据框图。以下是实现步骤: 设计主页面: 在主页面上添加一个按钮和一个数据框图&#xf…

分布式微服务系统架构第91集:系统性能指标总结

加群联系作者vx:xiaoda0423 仓库地址:https://webvueblog.github.io/JavaPlusDoc/ 系统性能指标总结 系统性能指标包括哪些? 业务指标、资源指标、中间件指标、数据库指标、前端指标、稳定性指标、批量处理指标、可扩展性指标、可靠性指标。 …

Pygame介绍与游戏开发

提供pygame功能介绍的文档:Pygame Front Page — pygame v2.6.0 documentation 基础语法和实现逻辑 与CLI不同,pygame提供了图形化使用界面GUI(graphical user interface)基于图像的界面可以创建一个有图像和颜色的窗口 要让py…

网络安全威胁框架与入侵分析模型概述

引言 “网络安全攻防的本质是人与人之间的对抗,每一次入侵背后都有一个实体(个人或组织)”。这一经典观点概括了网络攻防的深层本质。无论是APT(高级持续性威胁)攻击、零日漏洞利用,还是简单的钓鱼攻击&am…

FPGA|生成jic文件固化程序到flash

1、单击file-》convert programming files 2、flie type中选中jic文件,configuration decive里根据自己的硬件选择,单击flash loader选择右边的add device选项 3、选择自己的硬件,单击ok 4、选中sof选项,单机右侧的add file 5、选…

P3654 First Step (ファーストステップ)(贪心算法)

#include<bits/stdc.h> using namespace std;int main() {int r,c,k;cin>>r>>c>>k;char a[105][105];int ans0;for(int i0;i<r;i){for(int j0;j<c;j){cin>>a[i][j];}}for(int i0;i<r;i){int cnt0; // 用来记录连续空地的数量for(int j…

Java/Kotlin双语革命性ORM框架Jimmer(一)——介绍与简单使用

概览 Jimmer是一个Java/Kotlin双语框架 包含一个革命性的ORM 以此ORM为基础打造了一套综合性方案解决方案&#xff0c;包括 DTO语言 更全面更强大的缓存机制&#xff0c;以及高度自动化的缓存一致性 更强大客户端文档和代码生成能力&#xff0c;包括Jimmer独创的远程异常 …

ASP.NET Core中Filter与Middleware的区别

中间件是ASP.NET Core这个基础提供的功能&#xff0c;而Filter是ASP.NET Core MVC中提供的功能。ASP.NET Core MVC是由MVC中间件提供的框架&#xff0c;而Filter属于MVC中间件提供的功能。 区别 中间件可以处理所有的请求&#xff0c;而Filter只能处理对控制器的请求&#x…

ASP.NET Core对JWT的封装

目录 JWT封装 [Authorize]的注意事项 JWT封装 NuGet 库 |Microsoft.AspNetCore.Authentication.JwtBearer 9.0.1https://www.nuget.org/packages/Microsoft.AspNetCore.Authentication.JwtBearerhttps://www.nuget.org/packages/Microsoft.AspNetCore.Authentication.JwtBea…

【Uniapp-Vue3】从uniCloud中获取数据

需要先获取数据库对象&#xff1a; let db uniCloud.database(); 获取数据库中数据的方法&#xff1a; db.collection("数据表名称").get(); 所以就可以得到下面的这个模板&#xff1a; let 函数名 async () > { let res await db.collection("数据表名称…

腾讯云TI平台×DeepSeek:开启AI超强体验,解锁部署秘籍

引言 在人工智能飞速发展的今天&#xff0c;AI技术的应用场景已经渗透到我们生活的方方面面。从智能客服到自动驾驶&#xff0c;从精准医疗到金融科技&#xff0c;AI的应用正在不断推动各行业的变革与创新。作为AI领域的领军企业&#xff0c;腾讯云一直以来都在致力于为开发者…

利用 IMU 估计人体关节轴向和位置 —— 论文推导

Title: 利用 IMU 估计人体关节轴向和位置 —— “Joint axis and position estimation from inertial measurement data by exploiting kinematic constraints” —— 论文推导 文章目录 I. 论文回顾II. 铰接关节的约束1. 铰接关节约束的原理2. 铰接关节约束的梯度3. 铰接关节约…

pushgateway指标聚合问题

一 问题现象 一个job有多个实例推送指标&#xff0c;但是从pushgateway上看这个job的instance字段&#xff0c;只显示一个实例的ip&#xff0c;而不是多个实例。导致在grafana上无法正常根据ip查看监控。 应用的prometheus的配置 management:metrics:tags:application: ${spr…

无界构建微前端?NO!NO!NO!多系统融合思路!

文章目录 微前端理解1、微前端概念2、微前端特性3、微前端方案a、iframeb、qiankun --> 使用比较复杂 --> 自己写对vite的插件c、micro-app --> 京东开发 --> 对vite支持更拉跨d、EMP 方案--> 必须使用 webpack5 --> 很多人感觉不是微前端 --> 去中心化方…

Vim 多窗口编辑及文件对比

水平分割 :split 默认使用水平分割的方式。 :split :sp 垂直分割 :vsplit :vs 带文件的分割 :split 文件名 :sp 文件名 在光标所在的窗口&#xff0c;输入分割窗口命令就会对那个窗口进行分割。 切换窗口 Ctrlw 切换正在编辑的窗口 快速分割窗口 Ctrlwn 快速分割当前…