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

ES-聚合分析

ES的聚合分析

什么是ES的聚合分析

  • ElasticSearch除搜索意外,提供的针对ES数据进行统计分析的功能
  • 通过聚合,我们会得到一个数据的概览,是分析和总结全套的数据,而不是寻找单独的文档
  • 高性能,只要一条语句就可以得到分析结果

聚合分类

Bucket Aggregation 一些满足特定条件的文档的集合

  • Terms Aggregation:这种分桶策略是按照词条(term)来分桶,类似于SQL中的group by语法。如果是text类型,则按照分词后的结果分桶。例如,可以按照省份或用户名等字段进行分桶。
GET xby_index_users/_search
{"size": 0,"aggs": {"birth_place_bucket": {"terms": {"field": "birth_place"}}}
}
  • Range Aggregation:通过指定数值的范围来设定分桶规则。可以定义多个范围,文档会根据这些范围被分配到不同的桶中。
GET xby_index_users/_search
{"size": 0,"aggs": {"age_bucket": {"range": {"field": "age","ranges": [{ "from": 0, "to": 30 },{ "from": 30, "to": 60 },{ "from": 60, "to": 90 }]}}}
}
  • Histogram Aggregation:直方图分桶,以固定间隔的策略来分割数据。可以指定间隔大小(interval)和数据范围(extended_bounds)。
GET xby_index_users/_search
{"size": 0,"aggs": {"age_bucket": {"histogram": {"field": "age","interval": 30}}}
}
  • Date Histogram Aggregation:日期直方图分桶,根据日期阶梯分组,例如给定阶梯为周,会自动每周分为一组。
GET xby_index_users/_search
{"size": 0,"aggs": {"birthday_bucket": {"date_histogram": {"field": "birthday","calendar_interval": "year"}}}
}

Metric Aggregation 一些数学运算,可以对文档字段进行统计分析

  • 仅输出一个值的运算
    min/max/sum/avg/cardinality
GET xby_index_users/_search
{"size": 0,"aggs": {"age_avg": {"avg": {"field": "age"}},"age_max": {"max": {"field": "age"}},"age_min": {"min": {"field": "age"}},"age_sum": {"sum": {"field": "age"}},"age_cardinality": {"cardinality": {"field": "age"}}}
}
  • 输出多个值的运算
    stats/percenties/percentile_ranks
GET xby_index_users/_search
{"size": 0,"aggs": {"age_stats": {"stats": {"field": "age"}},"age_percentiles": {"percentiles": {"field": "age"}}}
}

Pipeline Aggregation 对其他运算结果的二次运算

GET xby_index_users/_search
{"size": 0,"aggs": {"sales_per_month": {"date_histogram": {"field": "date","interval": "month"},"aggs": {"sales": {"sum": {"field": "price"}}}},"avg_monthly_sales": {"avg_bucket": {"buckets_path": "sales_per_month>sales"}}}
}

相关文章:

ES-聚合分析

ES的聚合分析 什么是ES的聚合分析 ElasticSearch除搜索意外,提供的针对ES数据进行统计分析的功能通过聚合,我们会得到一个数据的概览,是分析和总结全套的数据,而不是寻找单独的文档高性能,只要一条语句就可以得到分析…...

【CSS in Depth 2 精译_093】16.2:CSS 变换在动效中的应用(上)—— 图标的放大和过渡效果的设置

当前内容所在位置(可进入专栏查看其他译好的章节内容) 第五部分 添加动效 ✔️【第 16 章 变换】 ✔️ 16.1 旋转、平移、缩放与倾斜 16.1.1 变换原点的更改16.1.2 多重变换的设置16.1.3 单个变换属性的设置 16.2 变换在动效中的应用 ✔️ 16.2.1 放大图…...

Linux Debian安装ClamAV和命令行扫描病毒方法,以及用Linux Shell编写了一个批量扫描病毒的脚本

ClamAV是一个开源的跨平台病毒扫描引擎,用于检测恶意软件、病毒、木马等安全威胁。 一、Linux Debian安装ClamAV 在Linux Debian系统上安装ClamAV,你可以按照以下步骤进行: 更新软件包列表: 打开终端并更新你的软件包列表&#…...

Spring创建异步线程,使用@Async注解时不指定value可以吗?

在Spring中使用Async注解时,不指定value是可以的。如果没有指定value(即线程池的名称),Spring会默认使用名称为taskExecutor的线程池。如果没有定义taskExecutor线程池,则Spring会自动创建一个默认的线程池。 默认行为…...

二分和离散化

为什么把二分和离散化放一起:因为离散化其实是一种二分整数的过程。 二分 相信大家都接触过二分查找(折半查找),这就是二分的思想。 二分通过每次舍弃一半并不存在答案的区间,进而快速锁定要求的答案(二…...

深度学习实战102-基于深度学习的网络入侵检测系统,利用各种AI模型和pytorch框架实现网络入侵检测

大家好,我是微学AI,今天给大家介绍一下深度学习实战102-基于深度学习的网络入侵检测系统,利用各种AI模型和pytorch框架实现网络入侵检测。近年来,网络安全威胁日益严峻,传统基于规则的方法难以应对复杂多变的入侵手段。 深度学习技术凭借其强大的特征学习能力和自适应性,…...

vue3使用element-plus,解决 el-table 多选框,选中后翻页再回来选中失效问题

问题&#xff1a;勾选的数据分页再回来回消失 1.在el-table中加 :row-key"getRowKey" const getRowKey (row) > { return row.id; // id必须是唯一的 }; 2.给type为selection的el-table-column添加上reserve-selection属性 <el-tableref"multipleTab…...

网络的类型

BMA---广播型多路访问--在一个网段内可以放置多个物理节点,同时该范围内可以实施广播洪泛机制 【1】以太网-->共享型 属性典型的 BMA类型;以太网技术的核心为频分一在同一物理介质上&#xff0c;使用多个相互不干涉的频率电波来共同传输数据&#xff0c;实现带宽的不断提升…...

实现类似gpt 打字效果

1. css的动画&#xff08;animation) css中实现动画有两种方式&#xff1a;transition过渡动画、 animation自定义动画。 具体的可以看MDN链接&#xff1a;https://developer.mozilla.org/zh-CN/docs/Web/CSS/animation 使用keyframes自定义关键帧动画并未其命名使用自定义动…...

项目需求分析流程

项目需求分析是软件开发或任何工程项目中至关重要的第一步。它帮助确保团队理解客户的需求&#xff0c;并为后续的设计、开发和测试工作提供指导。以下是一个详细的需求分析流程&#xff1a; 一、确定项目目标 与利益相关者沟通&#xff1a;包括但不限于客户、最终用户、销售…...

idea连接SQL Server数据库_idea连接sqlserver数据库

4.设置密码&#xff08;这一步可以在安装数据库时就可以完成&#xff09;&#xff0c;如果觉得用户名有问题&#xff0c;也可以修改用户名 5.查看SQL Server端口号&#xff08;默认端口&#xff1a;1433&#xff09;&#xff0c;选择SQL Server2019配置管理器 6.打开SQL Server…...

Scala_【2】变量和数据类型

第二章 注释标识符的命名规范命名规则关键字 变量字符串输出数据类型关系变量和数据类型整数类型&#xff08;Byte、Short、Int、Long&#xff09;浮点类型&#xff08;Float、Double&#xff09;字符类型&#xff08;Char&#xff09;布尔类型&#xff08;Boolean&#xff09;…...

u3d中JSON数据处理

一.认识JSON 1.1 Json概述 JSON&#xff08;JavaScript Object Notation&#xff0c;JavaScript对象表示法&#xff09;JSON和XML是比较类似的技术&#xff0c;都是用来存储文本信息数据的&#xff1b;相对而言&#xff0c;JSON比XML体积更小巧&#xff0c;但是易读性不如XML…...

idea 安装插件(在线安装、离线安装)

目录 在线安装 离线安装 在线安装 1、打开IntelliJ IDEA 2024.x软件&#xff0c; 点击file-Settings 2、点击搜索框&#xff0c;输入plugins&#xff0c;找到plugins列&#xff0c;输入xxx软件--点击install 安装 3、重启idea 离线安装 1、在官网上下载插件包 &#xff08;1&…...

springboot maven 构建 建议使用 --release 21 而不是 -source 21 -target 21,因为它会自动设置系统模块的位置

使用 --release 选项代替 -source 和 -target 是一种更安全、更兼容的方式,特别是在构建使用较新版本 JDK 的项目时。以下是详细解释和建议: 1. 为什么推荐使用 --release 问题点: 使用 -source 和 -target 标志时,仅设置了代码的语言级别和字节码目标版本,但编译器仍可…...

离散数学 复习 详细(子群,元素的周期,循环群,合同)

子群: 定义: 设(G,)是一个群&#xff0c;H属于G,如果(H,)仍是一个群&#xff0c;则(H,)叫做(G,)的子群。如果G的一个子群H不等于G&#xff0c;即H是G的真子集&#xff0c;则(H,)叫做(G,)的真子群 平凡子群和非平凡子群: 任意群都有两个子集一定是群 (平凡子群):{e} {G},其他…...

Java后端常见问题 (一)jar:unknown was not found in alimaven

1.安装配置maven时未将原来的 mirror 标签注释掉 解决方法&#xff1a;找到 mirrors 标签&#xff0c;先将原来配置的http://0.0.0.0给注释了,这个是高版本的maven增加的一个保护机制&#xff0c;如果不注释&#xff0c;那么使用的时候就下载不了jar包&#xff0c;如下图所示。…...

overleaf中文生僻字显示不正确,显示双线F

我是不想换全文字体的&#xff0c;只是一个生僻字显示不出来&#xff0c;就想要像word一样&#xff0c;把这个生僻字用包含这个生僻字的字体来显示就好了。 解决步骤&#xff1a; 1、使用如下宏包&#xff1a; \usepackage{xeCJK} %声明宏包&#xff0c;主要用于支持在XeTeX…...

C语言中的贪心算法

贪心算法&#xff08;Greedy Algorithm&#xff09;是一种在每一步选择中都采取当前最优解的算法&#xff0c;希望通过局部最优解的选择&#xff0c;最终得到全局最优解。它常用于解决最优化问题&#xff0c;如最小生成树、最短路径等。本文将从理论到实践&#xff0c;逐步引导…...

虚幻引擎结构之UWorld

Uworld -> Ulevel ->Actors -> AActor 在虚幻引擎中&#xff0c;UWorld 类扮演着至关重要的角色&#xff0c;它就像是游戏世界的总指挥。作为游戏世界的核心容器&#xff0c;UWorld 包含了构成游戏体验的众多元素&#xff0c;从游戏实体到关卡设计&#xff0c;再到物…...

Java 大视界 -- 基于 Java 的大数据分布式计算在蛋白质组学数据分析中的加速与优化(255)

&#x1f496;亲爱的朋友们&#xff0c;热烈欢迎来到 青云交的博客&#xff01;能与诸位在此相逢&#xff0c;我倍感荣幸。在这飞速更迭的时代&#xff0c;我们都渴望一方心灵净土&#xff0c;而 我的博客 正是这样温暖的所在。这里为你呈上趣味与实用兼具的知识&#xff0c;也…...

制作个人Github学术主页

1.fork一个模板 从模板网站Jekyll Themes fork一个模板&#xff0c;并在repository name里填入yourname.github.io 2.生成自己的site 按顺序点击以下按钮&#xff0c;修改Branch为master /root 然后点击save &#xff0c;等待一会后刷新&#xff0c;便会生成一个新的site。 3.…...

《PMBOK® 指南》第八版草案重大变革:6 大原则重构项目管理体系

项目管理领域的权威指南迎来关键升级&#xff01;PMI 最新发布的《PMBOK 指南》第八版草案引发行业广泛关注&#xff0c;此次修订首次将项目管理原则浓缩为 6 大黄金法则&#xff0c;重构 7 大绩效域&#xff0c;并首度公开过程组与绩效域的映射关系。本文将全面解析新版核心变…...

C++单例模式教学指南

C单例模式完整教学指南 &#x1f4da; 目录 [单例模式基础概念][经典单例实现及问题][现代C推荐实现][高级话题&#xff1a;双重检查锁][实战应用与最佳实践][总结与选择指南] 1. 单例模式基础概念 1.1 什么是单例模式&#xff1f; 单例模式&#xff08;Singleton Pattern&…...

【云安全】以Aliyun为例聊云厂商服务常见利用手段

目录 OSS-bucket_policy_readable OSS-object_public_access OSS-bucket_object_traversal OSS-Special Bucket Policy OSS-unrestricted_file_upload OSS-object_acl_writable ECS-SSRF 云攻防场景下对云厂商服务的利用大同小异&#xff0c;下面以阿里云为例 其他如腾…...

SDC命令详解:使用set_min_capacitance命令进行约束

相关阅读 SDC命令详解https://blog.csdn.net/weixin_45791458/category_12931432.html?spm1001.2014.3001.5482 目录 指定最小需驱动电容值 指定对象列表/集合 简单使用 写在最后 set_min_capacitance命令用于设置输入端口的最小需驱动电容&#xff08;设置了输入端口的min_c…...

华为仓颉语言初识:并发编程之同步机制(上)

前言 线程同步机制是多线程下解决线程对共享资源竞争的主要方式&#xff0c;华为仓颉语言提供了三种常见的同步机制用来保证线程同步安全&#xff0c;分别是原子操作&#xff0c;互斥锁和条件变量。本篇文章详细介绍主要仓颉语言解决同步机制的方法&#xff0c;建议点赞收藏&a…...

Linux中shell编程表达式和数组讲解

一、表达式 1.1 测试表达式 样式1: test 条件表达式 样式2: [ 条件表达式 ] 注意&#xff1a;以上两种方法的作用完全一样&#xff0c;后者为常用。但后者需要注意方括号[、]与条件表达式之间至少有一个空格。test跟 [] 的意思一样条件成立&#xff0c;状态返回值是0条件不成…...

MiniExcel模板填充Excel导出

目录 1.官方文档 2. 把要导出的数据new一个匿名对象 3.导出 4.注意事项 5.模板制作 6.结果 1.官方文档 https://gitee.com/dotnetchina/MiniExcel/#%E6%A8%A1%E6%9D%BF%E5%A1%AB%E5%85%85-excel // 1. By POCO var value new {Name "Jack",CreateDate n…...

Rust 学习笔记:关于 Cargo 的练习题

Rust 学习笔记&#xff1a;关于 Cargo 的练习题 Rust 学习笔记&#xff1a;关于 Cargo 的练习题问题一问题二问题三问题四问题五问题六问题七 Rust 学习笔记&#xff1a;关于 Cargo 的练习题 参考视频&#xff1a; https://www.bilibili.com/video/BV1xjAaeAEUzhttps://www.b…...