第三阶段 20 · metric 指标聚合
📅 2026/8/2 16:19:35
👁️ 次浏览
20 · metric 指标聚合阶段第三阶段 / 聚合能力ESsum/avg/min/max/value_count/cardinality| PostgreSQLSUM/AVG/MIN/MAX/COUNT/COUNT(DISTINCT)1. 概念指标聚合metric aggregation对一批文档算出一个数值相当于 SQL 里不带GROUP BY的聚合函数。ES 聚合SQL 函数sumSUM()avgAVG()min/maxMIN()/MAX()value_countCOUNT(col)cardinalityCOUNT(DISTINCT col)近似stats一次返回 count/min/max/avg/sum2. PostgreSQL 对照SELECTSUM(net_amount)AStotal_amount,AVG(net_amount)ASavg_amount,MAX(net_amount)ASmax_amount,COUNT(*)AScnt,COUNT(DISTINCTmaterial)ASmaterial_kindsFROMsalesdataWHEREgeo_cdAP;3. ES DSL聚合结果和命中文档是分开返回的。通常把size设 0不要文档只要聚合GET salesdata_idx/_search { size: 0, query: { term: { geo_cd: AP } }, aggs: { total_amount: { sum: { field: net_amount } }, avg_amount: { avg: { field: net_amount } }, max_amount: { max: { field: net_amount } }, material_kinds: { cardinality: { field: material } } } }或一次拿全套统计aggs: { amount_stats: { stats: { field: net_amount } } }4. Spring Boot 实现ComponentpublicclassDoc20MetricAgg{AutowiredprivateElasticsearchClientelasticsearchClient;/** SUM(net_amount) WHERE geo_cd ? */publicdoublesumAmount(StringindexName,StringgeoCd)throwsIOException{SearchResponseVoidrespelasticsearchClient.search(s-s.index(indexName).size(0)// 不要文档.query(q-q.term(t-t.field(geo_cd).value(geoCd))).aggregations(total_amount,a-a.sum(su-su.field(net_amount))),Void.class);returnresp.aggregations().get(total_amount).sum().value();}/** COUNT(DISTINCT material) */publiclongdistinctMaterials(StringindexName)throwsIOException{SearchResponseVoidrespelasticsearchClient.search(s-s.index(indexName).size(0).aggregations(material_kinds,a-a.cardinality(c-c.field(material))),Void.class);returnresp.aggregations().get(material_kinds).cardinality().value();}}读取结果时按聚合类型取值.sum().value()、.avg().value()、.cardinality().value()、.max().value()等。5. 坑与最佳实践size: 0只要聚合别要文档省带宽。忘了写会白白返回一堆命中文档。对text字段聚合报错要对keyword或数值聚合字符串用field.keyword。cardinality是近似值基于 HyperLogLog海量去重会有小误差可调precision_threshold。数值精度sum大量浮点累加可能有精度问题金额敏感可用scaled_float或整数分。聚合前先过滤query缩小范围能显著提升聚合性能。下一篇21-terms-分组聚合.md。
ncmdumpGUI:3步解锁你的网易云音乐收藏,实现跨设备自由播放 【免费下载链接】ncmdumpGUI C#版本网易云音乐ncm文件格式转换,Windows图形界面版本 项目地址: https://gitcode.com/gh_mirrors/nc/ncmdumpGUI
你是否曾经遇到过这样的困扰…
📅 2026/8/2 16:19:35
KNXD终极指南:打造开源智能家居通信网关 【免费下载链接】knxd 项目地址: https://gitcode.com/gh_mirrors/kn/knxd
KNXD是一个功能强大的开源KNX协议路由器/网关,专为Linux系统设计,能够桥接各种KNX接口和应用程序,为智能…
📅 2026/8/2 16:19:35
本来只是想改一个小接口,或者给模块补一个测试,结果 Codex 先花了不少时间读整个项目,接着又执行了不少目录的检查。等真正开始写代码时,发现已经过去好一会儿了。最后一看,真正改动的内容并不多。这种时候,…
📅 2026/8/2 16:19:35
1. 项目概述:当“AI冲击就业”成为伪命题,应届生真正的挑战是什么?最近,斯坦福大学发布的一份关于人工智能与就业市场的研究报告,在科技圈和应届生群体里激起了不小的水花。报告的核心结论有点反直觉:至少到…
📅 2026/8/2 17:06:20
1. 项目概述:为什么spec文件是打包复杂项目的“定海神针” 如果你用PyInstaller打包过Python脚本,大概率体验过那种“一键生成exe”的爽快感。一个简单的 pyinstaller your_script.py 命令,就能把脚本和依赖库捆成一个独立的可执行文件&am…
📅 2026/8/2 17:06:20
聊《做过前端的人学大模型,哪些经验可以直接迁移?》之前,先说一句实在的:别急着背概念,先看它在真实项目里到底解决什么问题。摘要去年我带过一个前端转大模型的同学,简历上写着"独立开发AI客服Agent&…
📅 2026/8/2 17:06:20
CIMPro孪大师6.2版本发布:十大新功能全面解读
前言
CIMPro孪大师在2026年7月发布了6.2版本,带来了大量重磅新功能。本文将为你详细解读这些新特性,帮助你快速上手新版本。
一、AI能力全面升级
1.1 智能场景生成
新版支持通过自然语言描述自动…
📅 2026/8/2 17:06:20
终极美化方案:如何用TranslucentTB打造Windows任务栏透明化桌面 【免费下载链接】TranslucentTB A lightweight utility that makes the Windows taskbar translucent/transparent. 项目地址: https://gitcode.com/gh_mirrors/tr/TranslucentTB
你是否厌倦了…
📅 2026/8/2 17:06:20
1. 项目概述:当开源硬件遇上实时操作系统最近在捣鼓Seeed Studio新出的XIAO RP2350开发板,这块板子核心是树莓派自家的RP2350双核Cortex-M33芯片,性能相当可以。我一直在想,除了跑常见的FreeRTOS、Zephyr,有没有更“硬…
📅 2026/8/2 17:05:20
1. 从水管网络到最大流:一个核心问题的诞生想象一下,你是一个城市供水系统的总工程师。你的城市有多个水源(水库),需要通过一个复杂的地下管道网络,将水输送到各个居民区。每条管道都有其最大通水能力&…
📅 2026/8/2 0:00:48
温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台…
📅 2026/8/2 0:00:48
1. 从一次信号“找茬”说起:为什么我们需要互相关几年前,我在处理一组声学传感器数据时遇到了一个棘手的问题。我有两个麦克风记录了一段相同的音频信号,理论上它们接收到的声音波形应该非常相似,只是由于麦克风位置不同ÿ…
📅 2026/8/2 0:00:48
1. 从水管网络到最大流:一个核心问题的诞生想象一下,你是一个城市供水系统的总工程师。你的城市有多个水源(水库),需要通过一个复杂的地下管道网络,将水输送到各个居民区。每条管道都有其最大通水能力&…
📅 2026/8/2 0:00:48
温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台…
📅 2026/8/2 0:00:48
1. 从一次信号“找茬”说起:为什么我们需要互相关几年前,我在处理一组声学传感器数据时遇到了一个棘手的问题。我有两个麦克风记录了一段相同的音频信号,理论上它们接收到的声音波形应该非常相似,只是由于麦克风位置不同ÿ…
📅 2026/8/2 0:00:48
AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言
HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…
📅 2026/8/2 1:22:12
无损视频剪辑终极指南:如何实现快速高效的多媒体处理 【免费下载链接】lossless-cut The swiss army knife of lossless video/audio editing 项目地址: https://gitcode.com/gh_mirrors/lo/lossless-cut
在数字媒体创作领域,视频编辑处理的质量损…
📅 2026/8/2 0:02:59
1. 本科生论文写作的AI辅助现状本科毕业论文是每个大学生必须跨越的一道坎。记得我当年写论文时,光是文献检索就花了整整两周时间,打印的参考文献堆满了半个书桌。如今AI技术的发展为学术写作带来了革命性变化,合理使用这些工具可以节省80%以…
📅 2026/8/2 1:22:12