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

【橘子ES】Aggregations 聚合准备

一、聚合的概念

聚合文档
聚合区别于检索,检索是使用一系列条件把文档从es中搜索回来。但是聚合则是在搜索回来的文档的基础上进一步进行处理。
简单来说聚合就是将数据汇总为指标、统计数据或其他分析。聚合可以解决以下几类问题:

  • 我的网站的平均加载时间是多少?
  • 根据交易量,谁是我最有价值的客户?
  • 在我的网络上,什么会被视为大文件?
  • 每个商品分类有多少件商品?

基本上我们可以看出来,他是一种聚合分析,类似于做报表那样的一个功能。既然是报表分析的话那就离不开一些常见的概念,什么平均值,最大值,什么按照什么分组之后统计每个组里面的数据量这样的功能。在es中支持了三种聚合来实现这些功能。

  • Metric aggregations:指标聚合是根据字段值计算量度(如总和或平均值)的量度聚合。
  • Bucket aggregations:分桶聚合是根据字段值、范围或其他条件将文档分组到存储桶(也称为箱)中。其实你可以对应理解为mysql中的count … group by field1这种。
  • Pipeline aggregations:管道聚合是从其他聚合而不是文档或字段获取输入的管道聚合。这个稍微比上面两个难一点,具体来说就是上面两种的聚合都是把数据检索出来进行分析之类的。但是这个不是直接获取数据分析,他是在上面两个分析之后的结果的基础上进一步分析。他是建立在聚合之上的聚合。
    下面我们就来逐一分析三种聚合的使用,不过在此之前,我们先来构建我们的数据。我们构建的索引是一个衣服的索引,包括分类,名称,价格,品牌,描述,产地这几个字段,并且生成20条数据,这个生成数据直接交给llm即可。比如这样。
    在这里插入图片描述
PUT /clothes
{"settings": {"index": {"number_of_shards": 1,  "number_of_replicas": 0}},"mappings": {"properties": {"category":{"type": "keyword"},"name":{"type": "keyword","fields": {"name_text":{"type": "keyword"}}},"price":{"type": "double"},"brand":{"type": "keyword"},"desc":{"type": "text"},"place_of_origin":{"type": "keyword"}}}
}POST _bulk
{ "index" : { "_index" : "clothes", "_id" : "1" } }
{ "category" : "T-shirt", "name" : "纯棉T恤", "price" : 19.99, "brand" : "品牌A", "desc" : "基础款纯棉T恤,适合日常穿着。", "place_of_origin" : "中国" }
{ "index" : { "_index" : "clothes", "_id" : "2" } }
{ "category" : "Jeans", "name" : "修身牛仔裤", "price" : 49.99, "brand" : "品牌B", "desc" : "耐穿的牛仔裤,修身款式。", "place_of_origin" : "越南" }
{ "index" : { "_index" : "clothes", "_id" : "3" } }
{ "category" : "Dress", "name" : "晚礼服", "price" : 89.99, "brand" : "品牌C", "desc" : "适合特殊场合的优雅晚礼服。", "place_of_origin" : "意大利" }
{ "index" : { "_index" : "clothes", "_id" : "4" } }
{ "category" : "Jacket", "name" : "皮夹克", "price" : 129.99, "brand" : "品牌D", "desc" : "时尚的男士皮夹克。", "place_of_origin" : "美国" }
{ "index" : { "_index" : "clothes", "_id" : "5" } }
{ "category" : "Sweater", "name" : "羊毛衫", "price" : 39.99, "brand" : "品牌E", "desc" : "适合冬季的保暖羊毛衫。", "place_of_origin" : "澳大利亚" }
{ "index" : { "_index" : "clothes", "_id" : "6" } }
{ "category" : "Skirt", "name" : "铅笔裙", "price" : 29.99, "brand" : "品牌F", "desc" : "适合办公室穿着的经典铅笔裙。", "place_of_origin" : "英国" }
{ "index" : { "_index" : "clothes", "_id" : "7" } }
{ "category" : "Shorts", "name" : "休闲短裤", "price" : 14.99, "brand" : "品牌G", "desc" : "适合夏天的舒适休闲短裤。", "place_of_origin" : "中国" }
{ "index" : { "_index" : "clothes", "_id" : "8" } }
{ "category" : "Blouse", "name" : "丝绸衬衫", "price" : 59.99, "brand" : "品牌H", "desc" : "柔软的丝绸衬衫,适合女性。", "place_of_origin" : "法国" }
{ "index" : { "_index" : "clothes", "_id" : "9" } }
{ "category" : "Coat", "name" : "冬季大衣", "price" : 199.99, "brand" : "品牌I", "desc" : "适合寒冷天气的厚冬季大衣。", "place_of_origin" : "加拿大" }
{ "index" : { "_index" : "clothes", "_id" : "10" } }
{ "category" : "Socks", "name" : "棉袜", "price" : 4.99, "brand" : "品牌J", "desc" : "一包舒适的棉袜。", "place_of_origin" : "中国" }
{ "index" : { "_index" : "clothes", "_id" : "11" } }
{ "category" : "T-shirt", "name" : "印花T恤", "price" : 24.99, "brand" : "品牌K", "desc" : "带有酷炫图案的T恤。", "place_of_origin" : "日本" }
{ "index" : { "_index" : "clothes", "_id" : "12" } }
{ "category" : "Jeans", "name" : "破洞牛仔裤", "price" : 59.99, "brand" : "品牌L", "desc" : "带有时尚破洞的牛仔裤。", "place_of_origin" : "美国" }
{ "index" : { "_index" : "clothes", "_id" : "13" } }
{ "category" : "Dress", "name" : "休闲连衣裙", "price" : 79.99, "brand" : "品牌M", "desc" : "适合日常穿着的舒适连衣裙。", "place_of_origin" : "中国" }
{ "index" : { "_index" : "clothes", "_id" : "14" } }
{ "category" : "Jacket", "name" : "风衣", "price" : 69.99, "brand" : "品牌N", "desc" : "轻便的风衣夹克。", "place_of_origin" : "德国" }
{ "index" : { "_index" : "clothes", "_id" : "15" } }
{ "category" : "Sweater", "name" : "针织毛衣", "price" : 44.99, "brand" : "品牌O", "desc" : "手工编织的毛衣。", "place_of_origin" : "英国" }
{ "index" : { "_index" : "clothes", "_id" : "16" } }
{ "category" : "Skirt", "name" : "百褶裙", "price" : 34.99, "brand" : "品牌P", "desc" : "时尚的百褶裙。", "place_of_origin" : "中国" }
{ "index" : { "_index" : "clothes", "_id" : "17" } }
{ "category" : "Shorts", "name" : "牛仔短裤", "price" : 19.99, "brand" : "品牌Q", "desc" : "适合休闲的牛仔短裤。", "place_of_origin" : "美国" }
{ "index" : { "_index" : "clothes", "_id" : "18" } }
{ "category" : "Blouse", "name" : "亚麻衬衫", "price" : 54.99, "brand" : "品牌R", "desc" : "适合夏天的轻薄亚麻衬衫。", "place_of_origin" : "意大利" }
{ "index" : { "_index" : "clothes", "_id" : "19" } }
{ "category" : "Coat", "name" : "风衣", "price" : 149.99, "brand" : "品牌S", "desc" : "经典的风衣。", "place_of_origin" : "英国" }
{ "index" : { "_index" : "clothes", "_id" : "20" } }
{ "category" : "Socks", "name" : "羊毛袜", "price" : 7.99, "brand" : "品牌T", "desc" : "适合冬季的厚羊毛袜。", "place_of_origin" : "澳大利亚" }

此时我们就构建好我们的数据了,后面我们再根据需要做修改等等操作。

好了,此时我们就准备好了,下面我们来进行操作。

相关文章:

【橘子ES】Aggregations 聚合准备

一、聚合的概念 聚合文档 聚合区别于检索,检索是使用一系列条件把文档从es中搜索回来。但是聚合则是在搜索回来的文档的基础上进一步进行处理。 简单来说聚合就是将数据汇总为指标、统计数据或其他分析。聚合可以解决以下几类问题: 我的网站的平均加载…...

vue3读取webrtc-stream 视频流

一.首先下载webrtc-stream&#xff0c;方便自己本地搭建视频流服务 https://download.csdn.net/download/cyw8998/90373521 解压后&#xff0c;启动命令 webrtc-streamer.exe -H 127.0.0.1:8020 二.vue3代码如下 <template><h1>video</h1><video id&…...

springcloud集成gateway

本篇文章只介绍gateway模块的搭建步骤&#xff0c;并无gateway详细介绍 gateway详解请查看&#xff1a;SpringCloudGateway官方文档详解 前置处理 父模块中已指定版本 不知道如何选择版本看这篇&#xff1a; 手把手教你梳理springcloud与springboot与springcloudalibaba的版本…...

2025常用的SEO工具有哪些?

在互联网时代&#xff0c;如何让自己的网站或内容脱颖而出&#xff0c;成为许多企业和个人站长们最关注的问题。而在这个过程中&#xff0c;SEO&#xff08;搜索引擎优化&#xff09;作为一种有效的提升网站曝光度和吸引流量的手段&#xff0c;已经成为了网站运营的核心之一。对…...

C++类和对象进阶:运算符重载深度详解

C类和对象进阶&#xff1a;运算符重载 前言引入运算符重载定义语法注意事项重载为全局函数重载为成员函数运算符重载的本质 默认赋值运算符重载(默认成员函数)编译器自己生成的赋值运算符重载函数需要自己实现的场景总结默认赋值运算符重载 拷贝构造函数和赋值重载的区分验证 总…...

Mybatisplus——Mybatisplus3.5.2版本使用Page分页插件查询,records有数据但是total显示0

目录 一、问题背景 debug 执行Mybatisplus使用Page分页插件查询时&#xff0c;发现 Page 里面的records有数据但是total显示0。 二、问题产生的原因 未配置MybatisPlus的分页插件拦截器导致的或者因mybatis-plus版本3.4或3.5版本导致原先的分页插件paginationInterceptor无法…...

C#(Winform)通过添加AForge添加并使用系统摄像机

先展示效果 AForge介绍 AForge是一个专门为开发者和研究者基于C#框架设计的, 也是NET平台下的开源计算机视觉和人工智能库 它提供了许多常用的图像处理和视频处理算法、机器学习和神经网络模型&#xff0c;并且具有高效、易用、稳定等特点。 AForge主要包括: 计算机视觉与人…...

AI使用场景简单测试

前言 今天来分享下AI的2个实用场景&#xff0c;我这里是使用的博主&#xff1a;小虚竹&#xff0c;搭建的AI服务&#xff0c;用的ChatGPT 4O模型&#xff0c;主要是试了3个场景&#xff0c;服装设计、直播带货话术、检验报告分析。 一、服装设计 对于最后需要的裁片设计上的尺寸…...

Linux 配置 MySQL 定时自动备份到另一台服务器

Linux 配置 MySQL 定时自动备份到另一台服务器 前言1、配置服务器通信1.1&#xff1a;配置过程 2、编写自动备份sh脚本文件3&#xff1a;设置定时自动执行 前言 此方案可使一台服务器上的 MySQL 中的所有数据库每天 0 点自动转储为 .sql 文件&#xff0c;然后将文件同步到另一…...

PostgreSQL 备库的延迟问题

目录标题 1. 查看主备状态计算方式&#xff1a;实际情况&#xff1a;举个例子&#xff1a; 2. 查看历史状态3. 分析日志文件4. 查看数据库层面的复制状态5. 检查活动事务6. 检查系统资源7. 检查网络状况8. 检查复制槽状态9. 检查未提交的两阶段事务 要排查 PostgreSQL 备库的延…...

力扣-二叉树-226 翻转二叉树

思路 利用递归的思路 代码 class Solution { public:TreeNode* invertTree(TreeNode* root) {if(root nullptr){return root;}swap( root->right, root->left);invertTree(root->left);invertTree(root->right);return root;} };...

基于SpringBoot的在线车辆租赁信息管理系统

系统展示 用户前台界面 管理员后台界面 系统背景 随着互联网技术的不断发展和人们生活水平的提高&#xff0c;汽车租赁行业迎来了前所未有的发展机遇。传统的汽车租赁方式往往存在流程繁琐、信息不透明等问题&#xff0c;难以满足现代消费者对于便捷、高效服务的需求。因此&…...

掌握 systemd:Linux 服务管理的核心工具

1. 什么是 systemd&#xff1f; 定义&#xff1a;systemd 是 Linux 系统的初始化系统&#xff08;init system&#xff09;和服务管理器&#xff0c;用于替代传统的 SysVinit。核心目标&#xff1a; 加速系统启动&#xff08;并行化任务&#xff09;。统一管理服务、日志、挂载…...

【信息系统项目管理师-案例真题】2019下半年案例分析答案和详解

更多内容请见: 备考信息系统项目管理师-专栏介绍和目录 文章目录 试题一【问题 1】(6 分)【问题 2‍ 】(8 分)【问题 3‍ 】(11 分)试题二【问题 1】‍(5分)【问题 2】‍ (14 分)【问题 3‍ 】(6 分)试题三【问题 1】(8 分)【问题 2‍ 】(6 分)【问题 3】‍ (8 分)【问题 4‍ …...

C/C++程序的内存是如何开辟的?

&#x1f4ac; 欢迎讨论&#xff1a;在阅读过程中有任何疑问&#xff0c;欢迎在评论区留言&#xff0c;我们一起交流学习&#xff01; &#x1f44d; 点赞、收藏与分享&#xff1a;如果你觉得这篇文章对你有帮助&#xff0c;记得点赞、收藏&#xff0c;并分享给更多对C语言感兴…...

日志结构化处理:PO对象toString日志转JSON工具

日志结构化处理&#xff1a;PO对象toString日志转JSON工具 1. 解决的问题2. 下载地址 在Java项目中&#xff0c;PO&#xff08;Plain Old Java Object&#xff09;对象遍布各个角落&#xff0c;且常常伴随着大量的日志记录需求。传统的做法是通过toString方法直接打印这些对象&…...

python学opencv|读取图像(六十五)使用cv2.boundingRect()函数实现图像轮廓矩形标注

【1】引言 前序学习进程中&#xff0c;已经使用cv2.findContours()函数cv2.drawContours()函数实现图像轮廓识别和标注&#xff0c;这种标注沿着图像的轮廓进行&#xff0c;比较细致。相关文章链接为&#xff1a; python学opencv|读取图像&#xff08;六十四&#xff09;使用…...

大疆无人机需要的kml文件如何制作kml导出(大疆KML文件)

大疆无人机需要的轨迹kml文件&#xff0c;是一种专门的格式&#xff0c;这个kml里面只有轨迹点&#xff0c;其它的属性信息都不需要。 BigemapPro提供了专门的大疆格式输出&#xff0c; 软件这里下载 www.bigemap.com 安装后&#xff0c;kml导入如下图&#xff1a; 然后选择…...

ArrayList、LinkedList、HashMap、HashTable、HashSet、TreeSet

集合族谱 在这些集合中&#xff0c;仅有vector和hashtable是线程安全的&#xff0c;其内部方法基本都有synchronized修饰。 ArrayList 底层采用Object数组实现&#xff0c;实现了RandomAccess接口因此支持随机访问。插入删除操作效率慢。 ArrayList需要一份连续的内存空间。 A…...

手动配置IP

手动配置IP&#xff0c;需要考虑四个配置项&#xff1a; 四个配置项 IP地址、子网掩码、默认网关、DNS服务器 IP地址&#xff1a;格式表现为点分十进制&#xff0c;如192.168.254.1 子网掩码&#xff1a;用于区分网络位和主机位 【子网掩码的二进制表达式一定是连续的&#…...

接口测试中缓存处理策略

在接口测试中&#xff0c;缓存处理策略是一个关键环节&#xff0c;直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性&#xff0c;避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明&#xff1a; 一、缓存处理的核…...

ETLCloud可能遇到的问题有哪些?常见坑位解析

数据集成平台ETLCloud&#xff0c;主要用于支持数据的抽取&#xff08;Extract&#xff09;、转换&#xff08;Transform&#xff09;和加载&#xff08;Load&#xff09;过程。提供了一个简洁直观的界面&#xff0c;以便用户可以在不同的数据源之间轻松地进行数据迁移和转换。…...

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

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

C++.OpenGL (14/64)多光源(Multiple Lights)

多光源(Multiple Lights) 多光源渲染技术概览 #mermaid-svg-3L5e5gGn76TNh7Lq {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-3L5e5gGn76TNh7Lq .error-icon{fill:#552222;}#mermaid-svg-3L5e5gGn76TNh7Lq .erro…...

NPOI Excel用OLE对象的形式插入文件附件以及插入图片

static void Main(string[] args) {XlsWithObjData();Console.WriteLine("输出完成"); }static void XlsWithObjData() {// 创建工作簿和单元格,只有HSSFWorkbook,XSSFWorkbook不可以HSSFWorkbook workbook new HSSFWorkbook();HSSFSheet sheet (HSSFSheet)workboo…...

基于PHP的连锁酒店管理系统

有需要请加文章底部Q哦 可远程调试 基于PHP的连锁酒店管理系统 一 介绍 连锁酒店管理系统基于原生PHP开发&#xff0c;数据库mysql&#xff0c;前端bootstrap。系统角色分为用户和管理员。 技术栈 phpmysqlbootstrapphpstudyvscode 二 功能 用户 1 注册/登录/注销 2 个人中…...

Kubernetes 节点自动伸缩(Cluster Autoscaler)原理与实践

在 Kubernetes 集群中&#xff0c;如何在保障应用高可用的同时有效地管理资源&#xff0c;一直是运维人员和开发者关注的重点。随着微服务架构的普及&#xff0c;集群内各个服务的负载波动日趋明显&#xff0c;传统的手动扩缩容方式已无法满足实时性和弹性需求。 Cluster Auto…...

CppCon 2015 学习:Reactive Stream Processing in Industrial IoT using DDS and Rx

“Reactive Stream Processing in Industrial IoT using DDS and Rx” 是指在工业物联网&#xff08;IIoT&#xff09;场景中&#xff0c;结合 DDS&#xff08;Data Distribution Service&#xff09; 和 Rx&#xff08;Reactive Extensions&#xff09; 技术&#xff0c;实现 …...

算法250609 高精度

加法 #include<stdio.h> #include<iostream> #include<string.h> #include<math.h> #include<algorithm> using namespace std; char input1[205]; char input2[205]; int main(){while(scanf("%s%s",input1,input2)!EOF){int a[205]…...

python基础语法Ⅰ

python基础语法Ⅰ 常量和表达式变量是什么变量的语法1.定义变量使用变量 变量的类型1.整数2.浮点数(小数)3.字符串4.布尔5.其他 动态类型特征注释注释是什么注释的语法1.行注释2.文档字符串 注释的规范 常量和表达式 我们可以把python当作一个计算器&#xff0c;来进行一些算术…...