【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总决赛”被分类到“体育”类别。
---
总结
• 单桶聚合:主要用于全局统计,不涉及分组,适合对整个数据集或特定子集进行简单统计。
• 多桶聚合:用于将数据划分到多个桶中进行分组统计,适合对数据进行更细粒度的分析,例如按时间、数值范围或类别进行分组。
相关文章:
【Elasticsearch】分桶聚合功能概述
这些聚合功能可以根据它们的作用和应用场景分为几大类,以下是分类后的结果: 1.基础聚合(Basic Aggregations) • Terms(字段聚合) 根据字段值对数据进行分组并统计。 例子:按产品类别统计销…...
开源安全一站式构建!开启企业开源治理新篇章
在如今信息技术日新月异、飞速发展的数字化时代,开源技术如同一股强劲的东风,为企业创新注入了源源不断的活力,然而,正如一枚硬币有正反两面,开源技术的广泛应用亦伴随着不容忽视的挑战。安全风险如影随形,…...
功能架构元模型
功能架构的元模型是对功能架构进行描述和建模的基础框架,它有助于统一不同团队对系统的理解,并为系统的设计和开发提供一致的标准和规范。虽然具体的元模型可能因不同的应用领域和特定需求而有所差异,但一般来说,功能架构的元模型可以涵盖以下几个方面: 组件/模块元模型:…...
Node.js 与 npm 版本兼容性问题详解:如何避免版本冲突
个人名片 🎓作者简介:java领域优质创作者 🌐个人主页:码农阿豪 📞工作室:新空间代码工作室(提供各种软件服务) 💌个人邮箱:[2435024119qq.com] 📱…...
鸿蒙开发中 SaveButton 按钮 保存按钮点击后权限授权失败。
原因分析 查看官方文档的解释 在 控制台中 过滤这个字段 过滤关键字"SecurityComponentCheckFail"可以获取具体原因。 得到 产生的原因 是 因为层叠的原因 savebutton 组件必须的 在屏幕的最高层 不能有任何的覆盖和遮挡 通过这样书写就解决了 // 下面是安…...
胜任力冰山模型:深入探索职业能力的多维结构
目录 1、序言 2、什么是胜任力? 3、任职资格和胜任力的区别 4、胜任力冰山模型:职场能力的多维展现 4.1、冰山水面上的部分 4.2、冰山水面下的部分 4.3、深层的个人特质与价值观 5、如何平衡任职资格与胜任能力 6、结语 1、序言 在快速发展的I…...
C#面试常考随笔12:游戏开发中常用的设计模式【C#面试题(中级篇)补充】
C#面试题(中级篇),详细讲解,帮助你深刻理解,拒绝背话术!-CSDN博客 简单工厂模式 优点: 根据条件有工厂类直接创建具体的产品 客户端无需知道具体的对象名字,可以通过配置文件创建…...
gst_pad_add_probe使用笔记
gst_pad_add_probe 是 GStreamer 中的一个函数,用于在 pad 上添加探针(probe)函数,以便监控或者修改流经该 pad 的数据。通过探针,可以在数据流的不同阶段执行自定义操作,如修改、丢弃或分析数据。 函数原…...
Google地图瓦片爬虫——进阶版
紧接上一篇——Google地图瓦片爬虫 clash节点自动切换 为了防止一个IP地址访问频率过快问题,自动切换clash的节点 def change_node(is_stop):while True:_r requests.get("http://127.0.0.1:11053/proxies", headersclash_headers, verifyFalse)# 这里…...
将Deepseek接入pycharm 进行AI编程
目录 专栏导读1、进入Deepseek开放平台创建 API key 2、调用 API代码 3、成功4、补充说明多轮对话 总结 专栏导读 🌸 欢迎来到Python办公自动化专栏—Python处理办公问题,解放您的双手 🏳️🌈 博客主页:请点击——…...
《论文阅读》GPT-3是否会产生移情对话?一种新的情境示例选择方法和用于生成同理心对话的自动评估度量 ICCL 2022
《论文阅读》GPT-3是否会产生移情对话?一种新的情境示例选择方法和用于生成同理心对话的自动评估度量 ICCL 2022 前言贡献PromptIn-context learningSITSMEMOSITSM新的自动指标实验前言 亲身阅读感受分享,细节画图解释,再也不用担心看不懂论文啦~ 无抄袭,无复制,纯手工敲…...
华水967数据结构2024真题(回忆版)
一、 选择[10道) (20分). 1、数据结构中,从逻辑结构上可以把数据结构分为() 答案:线性结构和非线性结构 2、给了一个二叉树的中序遍历,求二叉树的后序遍历 解析: 要根据中序遍历的结果来推导后序遍历,需要知道二叉…...
javaEE初阶————多线程初阶(3)
大家新年快乐呀,今天是第三期啦,大家前几期的内容掌握的怎么样啦? 1,线程死锁 1.1 构成死锁的场景 a)一个线程一把锁 这个在java中是不会发生的,因为我们之前讲的可重入机制,在其他语言中可…...
webpack配置方式
1. 基本配置文件 (webpack.config.js)(导出一个对象) 最常见的方式是通过 webpack.config.js 文件来配置 Webpack,导出一个对象。你可以在这个文件中导出一个配置对象,指定入口、输出、加载器、插件等。 // webpack.config.js m…...
【Flink快速入门-1.Flink 简介与环境配置】
Flink 简介与环境配置 实验介绍 在学习一门新的技术之前,我们首先要了解它的历史渊源,也就是说它为什么会出现,它能够解决什么业务痛点。所以本节我们的学习目的是了解 Flink 的背景,并运行第一个 Flink 程序,对它有…...
WPF基础 | 初探 WPF:理解其核心架构与开发环境搭建
WPF基础 | 初探 WPF:理解其核心架构与开发环境搭建 一、前言二、WPF 核心架构2.1 核心组件2.2 布局系统2.3 数据绑定机制2.4 事件处理机制 三、WPF 开发环境搭建3.1 安装 Visual Studio3.2 创建第一个 WPF 应用程序 结束语优质源码分享 WPF基础 | 初探 WPFÿ…...
深入学习MySQL 支持的事务隔离级别
MySQL 支持四种事务隔离级别,分别是读未提交(Read Uncommitted)、读已提交(Read Committed)、可重复读(Repeatable Read)和可串行化(Serializable)。不同的隔离级别对数据…...
JVM 四虚拟机栈
虚拟机栈出现的背景 由于跨平台性的设计,Java的指令都是根据栈来设计的。不同平台CPU架构不同,所以不能设计为基于寄存器的。优点是跨平台,指令集小,编译器容易实现,缺点是性能下降,实现同样的功能需要更多…...
深入理解小波变换:信号处理的强大工具
引言 在科学与工程领域,信号处理一直是关键环节,傅里叶变换与小波变换作为重要的分析工具,在其中发挥着重要作用。本文将深入探讨小波变换,阐述其原理、优势以及与傅里叶变换的对比,并通过具体案例展示其应用价值。 一…...
【大数据技术】搭建完全分布式高可用大数据集群(Kafka)
搭建完全分布式高可用大数据集群(Kafka) kafka_2.13-3.9.0.tgz注:请在阅读本篇文章前,将以上资源下载下来。 写在前面 本文主要介绍搭建完全分布式高可用集群 Kafka 的详细步骤。 注意: 统一约定将软件安装包存放于虚拟机的/software目录下,软件安装至/opt目录下。 安…...
使用git clone一个指定文件或者目录
1 创建一个空文件夹 mkdir -p test2 进入创建的文件夹 cd /test3 执行git init初始化git 在新建的文件夹下执行初始化动作是因为要保证本地是在git的环境下,为关联远程仓库提供前提。 git init4 与远程仓库进行关联 以我自己的gitcode仓库为例 git remote add…...
解决react中函数式组件usestate异步更新
问题:在点击modal组件确认后 调用后端接口,使用setstateone(false)使modal组件关闭,但是设置后关闭不了,在设置setstateone(false)前后打印出了对应的stateone都为true,但…...
关于ESP-IDF 5.4 中添加第三方组件esp32-camera找不到文件,编译错误解决办法(花了一天时间解决)
最近需要使用ESP32-S3-CAM 的OV2640摄像头采集图像,为了加速开发进度,于是选择了esp32-camera组件,该组件不是官方组件,需要自己git clone。但在为项目添加esp32-camera组件时,一直编译错误,找不到头文件&a…...
Android LifecycleOwner 闪退,java 继承、多态特性!
1. 闪退 同意隐私政策后,启动进入游戏 Activity 闪退 getLifecycle NullPointerException 空指针异常 FATAL EXCEPTION: main Process: com.primer.aa.gg, PID: 15722 java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.primer.aa.…...
feign Api接口中注解问题:not annotated with HTTP method type (ex. GET, POST)
Bug Description 在调用Feign api时,出现如下异常: java.lang.IllegalStateException: Method PayFeignSentinelApi#getPayByOrderNo(String) not annotated with HTTPReproduciton Steps 1.启动nacos-pay-provider服务,并启动nacos-pay-c…...
Swipe横滑与SwipeItem自定义横滑相互影响
背景 vue项目,H5页面,使用vant的组件库轮播组件<Swipe>,UI交互要求,在每个SwipeItem中有内容,可自横滑,查看列表内容 核心代码 <template><Swipeclass"my_swipe":autoplay&quo…...
[LeetCode]day16 242.有效的字母异位词
242. 有效的字母异位词 - 力扣(LeetCode) 题目描述 给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的 字母异位词 示例 1: 输入: s "anagram", t "nagaram" 输出: true示例 2: 输入: s "rat"…...
基于SpringBoot养老院平台系统功能实现五
一、前言介绍: 1.1 项目摘要 随着全球人口老龄化的不断加剧,养老服务需求日益增长。特别是在中国,随着经济的快速发展和人民生活水平的提高,老年人口数量不断增加,对养老服务的质量和效率提出了更高的要求。传统的养…...
基于HTML5 Canvas 和 JavaScript 实现的烟花动画效果
以下是一个使用 HTML5 Canvas 和 JavaScript 实现的烟花动画效果代码盒子: <!DOCTYPE html> <html> <head><title>烟花效果...
【3分钟极速部署】在本地快速部署deepseek
第一步,找到网站,下载: 首先找到Ollama , 根据自己的电脑下载对应的版本 。 我个人用的是Windows 我就先尝试用Windows版本了 ,文件不是很大,下载也比较的快 第二部就是安装了 : 安装完成后提示…...
