java实现es的折线图和统计图聚合

【ElasticSearch-聚合查询】ES聚合统计及springboot对比实现 一文详解Elasticsearch中涉及的桶聚合、指标聚合、管道聚合及其所属各类函数使用及springboot对比实现 阅读详情

昨天说了在kibana中使用es的语句查询折线图和统计图,今天废话少说直接上代码
es固定写法

      SearchRequest request = new SearchRequest(indices);
      SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
      BoolQueryBuilder boolQueryBuilder = QueryBuilders.boolQuery();

这里我们可以使用这个代码对应的就是我昨天写的filter 的部分

RangeQueryBuilder time = QueryBuilders.rangeQuery("metaData.pubTime").gte(timeNodeTotal.getStartTime()).lte(timeNodeTotal.getEndTime());

对应以下代码
在这里插入图片描述
接下来就是写我们agg的东西在java聚合当中aggas我们使用
AggregationBuilders 来调用以下是代码

AggregationBuilder aggregationBuilder = AggregationBuilders.dateHistogram("aggas")
                .field("metaData.pubTime")
                .fixedInterval(DateHistogramInterval.hours(timeNodeTotal.getDivision()))
                .minDocCount(0);

这里我使用aggas为桶 在java聚合当中,我们需要的是桶来操作我们的数据在上面调用中对应的Es代码模块是以下内容。
在这里插入图片描述

这个时候就已经把安时间分割已经出来了,fixedInterval(DateHistogramInterval.hours()) 中是设置你为什么分割。我在源码里面发现他里面也可以使用他定义好的间隔,我当前是因为项目需要人工控制时间使用就没有使用他自己的定义好的,这里源码可以看见,1秒,1分钟,1小时等等,需要的可以自己在源码里面选择自己需求所需要的
在这里插入图片描述
下面就是统计出现的数量

 TermsAggregationBuilder webtotal = AggregationBuilders.terms("webtotal").field("metaData.website").size(10000);

对应Es代码为
在这里插入图片描述
现在已经把Es语句在java中写好了执行

 searchSourceBuilder.timeout(new TimeValue(30, TimeUnit.SECONDS));
 searchSourceBuilder.query(boolQueryBuilder).aggregation(aggregationBuilder);
 searchSourceBuilder.query(boolQueryBuilder).aggregation(webtotal);
 searchSourceBuilder.query(boolQueryBuilder);
 request.source(searchSourceBuilder);
 SearchResponse  search = client.search(request, RequestOptions.DEFAULT);

这里代码中 SearchResponse search = client.search(request, RequestOptions.DEFAULT);
可能是会抛异常 看情况处理

取Es中查询出来的内容,在平时去es数据的时候都是

search.getHits().getHits()

然后在get出所有数据循环就可以得到数据,但是现在我是创建了桶,所以是要在桶中取数据

通过取桶有很多方式,目前我使用了两种

第一种

  ArrayList<Map<String, Object>> DataList = new ArrayList<>();
  Aggregation agg = search.getAggregations().get("aggas");
  List<? extends Histogram.Bucket> buckets = ((Histogram) agg).getBuckets();
  for (Histogram.Bucket bucket : buckets) {   
        HashMap<String, Object> tetool = new HashMap<>();
        tetool.put("data", bucket.getKeyAsString());
        tetool.put("dataCount", bucket.getDocCount());
        DataList.add(tetool);
        }

第二种

 ArrayList<Map<String, Object>> weblist = new ArrayList<>();
    Terms web = search.getAggregations().get("webtotal");
    List<? extends Terms.Bucket> webBuckets = web.getBuckets();    

在这里的时候和上面一样foreach 循环拿出来就可以 在我这里我对数据全是用的map储存的,用万能的map处理当然不是唯一的 。
如果对于上面Es语句不懂的:点击这里
Es7.6官网文档:点击这里
多看官网,我的聚合也是看官方文档一点点磨出来的

基于SpringBoot+Vue的公寓报修管理系统设计与实现 管理系统开发中,权限控制与流程状态管理往往是核心难点。以SpringBoot、Vue、MySQL和MyBatis为技术栈,能够高效构建前后端分离的业务系统。其中,SpringBoot提供稳定的后端服务与接口支持,Vue构建交互友好的管理界面,MySQL存储结构化业务数据,MyBatis则灵活处理动态查询与数据映射。本文从公寓报修场景出发,详细拆解角色权限边界、工单状态机设计、数据库字段预留、JWT鉴权及前后端部署等工程实践,覆盖租客报修、管理员派单、维修工处理、租客评价的完整闭环。这套方案同样适用于库存管理 阅读详情

相关推荐

基于SSM+Vue的智能社区管理系统设计与实现

在Java Web开发中,SSM框架(Spring、SpringMVC、MyBatis)长期占据教学与毕设核心位置,是理解Spring Boot自动配置与微服务体系的底层基石。Vue作为前端组件化框架,配合Element UI和Axios,能够高效构建前后端分离的单页应用。将两者结合,经典的三层架构分层清晰,从数据库建模到接口开发均可形成标准化流程,尤其适合社区管理、物业管理等业务边界明确的场景。RBAC权限模型、工单状态机、统计图表可视化等关键设计,不仅能覆盖完整业务闭环,也直接提升系统的健壮性与工程规范

dengjuanshou7445的博客 401

ElasticSearch-RestHighLevelClient聚合查询总结

目录 一、TopHitsAggregation 二、TermsAggregation 三、CardinalityAggregation 四、DateHistogramAggregation 五、SumAggregation 六、AvgAggregation 七、MaxAggregation 八、MinAggregation SpringBoot使用ES的Aggregation聚合查询总结 一、TopHitsAggregation public TopHitsAggregationBu

孟孟的博客 4092

WebGIS地震灾害可视化系统:从技术选型到部署的全栈实践

地理信息系统(GIS)与Web技术的结合,催生了WebGIS这一重要应用领域。其核心原理在于将空间数据通过互联网进行发布、管理、分析与可视化。在工程实践中,这种技术融合的价值在于能够将专业、复杂的地理信息转化为直观、交互性强的可视化应用,极大地提升了数据洞察效率和决策支持能力。典型的应用场景包括灾害监测、城市规划、交通物流和商业分析等。本文以“地震灾害可视化系统”为具体案例,深入剖析了如何利用Vue.js、Spring Boot和PostGIS等技术栈,构建一个功能完整的WebGIS应用。文章详细探讨了Op

weixin_34268579的博客 395

ES聚合查询,折线图统计

需求一 查询数据时间在a-b间,且serviceId=1的数量折线图 结果 java代码 需求二 从接口调用记录中统计每个应用分组的最大、最小、平均调用时长(group by + count、max、min) 结果 java代码 需求三 直方图加求平均值 结果 java代码...

whatzhang007的博客 1184

Python之美——Python2与Python3多版本共存

Python多版本共存的方法Python2、Python3共存的方法python2下载及环境变量配置第一步、打开Python官网,下载Python2第二步、python2环境变量配置测试结果 Python2、Python3共存的方法 方法如下: 1.先确保不同版本解释器的python.exe所在的路径在环境变量中 2.拷贝各自的python.exe并重命名即可 步骤(理解不了下面有图示): 1、首先你需要将不同的python版本安装,且都已经将跟版本的环境变量配置好了,python3和2的下载方式

chenchen5152的博客 3946

缺陷检测:使用PatchCore训练自己的数据集

必须包含有训练图片(无缺陷图片)、测试图片(缺陷图片)和ground_truth,并且ground_truth必须与对应图片的名称相同。同上一篇结果一样,我的输出为原始图片大小,但是不知道是不是因为图片不是正方形的,导致训练结果不好。编写一个脚本,重新规划数据集的路径规则,但是我稍微写复杂了一点,使用了类来操作。第二种(复杂):编写一个自己的Dataset,参考。第一种(简单):将数据集路径规则改成项目中。返回的必须是一个字典类型,可以阅读。本人此次使用的是第一种方法。运行时,参数部分直接输入。

xiaoxTai的博客 6478

Elasticsearch 直方图统计(时间统计)和 postgreSql的级数生成

Elasticsearch 直方图统计(时间统计)和 postgreSql的级数生成,填充空时间段的统计

Darling_Jiang的博客 2269

2026华为OD机试(C++)真题【E卷+A卷+B卷+C卷+D卷】目录+在线OJ

华为OD机试真题题库【E卷+A卷+B卷+C卷+D卷】目录,C++实现。

MISAYAONE的博客 20万+

es——java代码实现聚合

es——java代码实现聚合

LINING_GG的博客 2691

Android 人像分割实战:OpenCV+YOLOv8+NCNN 三库联动(附 GPU 加速 / 内存优化全方案)

本文详细介绍了在Android项目中集成OpenCV+YOLOv8+NCNN实现实时人像分割的技术方案。主要内容包括:项目环境搭建(配置NDK、添加Native模块)、核心库文件集成(OpenCV、NCNN、YOLOv8模型)、JNI接口设计与实现(Kotlin层调用C++算法)。通过Camera API获取图像数据,使用YOLOv8进行人体检测,结合NCNN高性能推理框架实现人像分割处理,最终将原始画面与分割结果(背景透明)同时显示在Android界面上。该项目采用多技术栈协同工作,OpenCV负责图像处

FJN110的博客 233

AI学习指南RAG篇(19)-API调用与集成

通过上述API调用示例,您可以方便地将RAGFlow与其他系统集成,实现数据集管理、文档处理、会话管理等功能。希望本文的介绍能帮助您更好地理解和使用RAGFlow的API。

俞兆鹏的博客 2545

vue基于python的仓储采购进销存 ERP系统-供应商-echart统计图

所有项目都经过了严格的测试和完善。对于本系统,我们提供全方位的支持,包括修改时间和标题,以及完整的安装、部署、运行和调试服务,确保系统能在你的电脑上顺利运行。需要成品或者定制,如果本展示有不满意之处。点击文章最下方名片联系我即可~,总会有一款让你满意。数据库工具:Navicat/SQLyog/ MySQL Workbench等都可以。:RESTful API 或 GraphQL。查看详细的视频演示,或者了解其他版本的信息。数据库 mysql 版本不限。前端开发框架:vue.js。

QQ_188083800的博客 305

PCL体素滤波器【2026最新版】

PCL实现的VoxelGrid类和ApproximateVoxelGrid体素滤波,详细记录。博客长期更新,本文最近一次更新时间为:2026年3月14日。

点云侠的博客 39万+

django基于Django高校求职招聘岗位招聘平台与数据可视化分析设计和实现

2、同时增加文字触发提醒,设置提醒语,有相同字段的数据,会触发弹框提醒,例如设置状态提醒:特急/加急/一般 增加自定义提醒语(如:库存不足,请补货)对于本系统,我们提供全方位的支持,包括修改时间和标题,以及完整的安装、部署、运行和调试服务,确保系统能在你的电脑上顺利运行。AI续写、AI优化、AI校对、AI翻译:新增AI接口,编辑器接入AI,可以实现AI续写、AI优化、AI校对、AI翻译,可以帮你实现自动化,ai帮你完成文档。多种统计效果:可以多种统计图效果展示,1、合并效果 2、单独展示3、随模块一起。

2501_91488339的博客 327

基于SpringBoot 3 + Vue 3的全栈民宿预约管理系统设计与实现

文章将详细阐述系统的需求分析、架构设计、数据库设计、核心功能模块的实现(包括用户认证、房源管理、订单流程、支付集成等),并提供关键代码片段,最后对系统进行总结与展望。.requestMatchers("/api/admin/**").hasRole("ADMIN") // 管理员接口。.requestMatchers("/api/auth/**").permitAll() // 认证接口公开。.requestMatchers("/api/public/**").permitAll() // 公开资源。

2201_76125393的博客 272

PID、模糊PID、SkyHook、LQR、H2/H∞、ADRC等悬架控制合集

PID、模糊PID、SkyHook、LQR、H2/H∞等悬架控制合集

Mr.邹的博客 2013

12个实战场景:开源BI平台CBoard数据可视化完整指南

在数据驱动决策的时代,企业需要高效的数据可视化工具来洞察业务趋势。CBoard作为一款开源BI平台,提供了从数据连接到仪表盘展示的完整解决方案。本文将通过12个实战场景,深入解析CBoard在商业智能领域的应用价值和技术实现,帮助企业快速构建数据驱动的决策系统。 ## 功能模块架构:理解CBoard的核心设计 CBoard采用分层架构设计,确保系统的可扩展性和高性能。技术架构分为三层:前端可视

gitblog_00686的博客 1046

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

基于大数据技术的多平台校园快递代取系统 数据可视化分析平台 小程序 pc 三端

简单说,一个管安全规则,一个管身份凭证,组合起来为Web应用打造可靠防护。2、同时增加文字触发提醒,设置提醒语,有相同字段的数据,会触发弹框提醒,例如设置状态提醒:特急/加急/一般 增加自定义提醒语(如:库存不足,请补货)对于本系统,我们提供全方位的支持,包括修改时间和标题,以及完整的安装、部署、运行和调试服务,确保系统能在你的电脑上顺利运行。AI续写、AI优化、AI校对、AI翻译:新增AI接口,编辑器接入AI,可以实现AI续写、AI优化、AI校对、AI翻译,可以帮你实现自动化,ai帮你完成文档。

QQ1304979694的博客 389

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

大数据技术爬虫与文本挖掘的网络舆情监控系统 爬虫可视化

简单说,一个管安全规则,一个管身份凭证,组合起来为Web应用打造可靠防护。2、同时增加文字触发提醒,设置提醒语,有相同字段的数据,会触发弹框提醒,例如设置状态提醒:特急/加急/一般 增加自定义提醒语(如:库存不足,请补货)对于本系统,我们提供全方位的支持,包括修改时间和标题,以及完整的安装、部署、运行和调试服务,确保系统能在你的电脑上顺利运行。AI续写、AI优化、AI校对、AI翻译:新增AI接口,编辑器接入AI,可以实现AI续写、AI优化、AI校对、AI翻译,可以帮你实现自动化,ai帮你完成文档。

QQ1304979694的博客 863

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

基于SpringBoot的物业智慧系统完整设计与实现指南

在Java后端开发中,前后端分离架构已成为主流工程实践。SpringBoot以其自动装配与内嵌容器特性,大幅降低了项目搭建成本;MyBatis-Plus通过通用CRUD与分页插件简化数据持久层开发;Redis则用于令牌缓存与热点数据存储,三者结合构成了高效的企业级管理应用底座。这类系统通常包含用户认证、工单流转、费用核算与数据可视化等核心模块,其设计思路广泛适用于后勤管理、园区服务等场景。本文以物业智慧系统为例,从数据库建模、接口分层、JWT权限控制到部署排错,完整梳理一套可运行的Java毕业设计实现路径,

weixin_30843121的博客 160

Java毕业设计实战:穿青人文化网站从后端爬虫到可视化全解析

在数字化浪潮中,传统文化资源的保护与传播正成为Web开发领域的重要应用场景。文化展示类平台不仅需要常规的内容管理,更涉及数据采集、结构化存储与多端适配等工程化问题。构建此类系统时,后端框架选型、数据获取策略以及可视化呈现方式,往往决定了项目的技术深度与实用价值。以Java生态中的Spring Boot作为业务底座,搭配Python爬虫实现公开文化资料的高效采集,再通过ECharts进行直观的数据可视化展示,并利用uni-app扩展移动端访问,这一整套技术链路既覆盖了毕业设计常见的技术要点,也能真正解决文化内

weixin_33895695的博客 408

nodejs基于vue的中国传统文化交互旅游文创商城平台vue可视化大屏

2、同时增加文字触发提醒,设置提醒语,有相同字段的数据,会触发弹框提醒,例如设置状态提醒:特急/加急/一般 增加自定义提醒语(如:库存不足,请补货)秒速登进去,特别省事。对于本系统,我们提供全方位的支持,包括修改时间和标题,以及完整的安装、部署、运行和调试服务,确保系统能在你的电脑上顺利运行。AI续写、AI优化、AI校对、AI翻译:新增AI接口,编辑器接入AI,可以实现AI续写、AI优化、AI校对、AI翻译,可以帮你实现自动化,ai帮你完成文档。此信息只能使用查看,可以登录进去操作,就是类似于真机调试,

QQ1963288475的博客 417

微信小程序的班级学生奖惩成绩信息管理系统app

以上设计平衡了开发效率与扩展性,适用于中小规模班级管理。实际开发中需根据需求调整字段和权限粒度。

java python定制开发 798

非科班转行 AI 算法,这条实战路线帮你少走三年弯路

本文专为非科班人士打造 AI 算法转行实战路线,主张问题驱动与工程优先。通过 Python 工具链、机器学习核心及深度学习三阶段进阶,帮助读者避开数学恐惧,快速掌握从数据处理到模型落地的关键技能,高效实现职业转型。

清言清语的专栏 8

基于Spring Boot+Vue的城市轨道交通安全管理系统毕设设计与实现

前后端分离架构是当前Java企业级开发的主流模式,它将前端展示与后端业务解耦,显著提升开发效率与系统可维护性。Spring Boot作为后端基础框架,凭借自动配置与starter机制,大幅简化项目搭建;MyBatis Plus则通过内置CRUD和分页插件,减少重复编码。Vue配合Element UI可快速构建交互友好的管理界面。此类架构广泛应用于各类管理信息系统,尤其适合业务流程复杂、角色分工明确的场景。城市轨道交通安全管理系统正是典型实践:围绕隐患排查、设备巡检、应急管理等业务,构建“上报—派发—处置—复

weixin_42549723的博客 248

基于Spring Boot的高考志愿智能推荐系统:架构、算法与实现

推荐系统是信息过载时代下连接用户与决策资源的核心技术,其本质是通过数据建模与算法匹配,帮助用户在海量选项中快速定位最优解。从技术原理看,推荐引擎通常涉及数据处理、特征匹配、排序策略与结果解释等环节,而实际落地效果取决于业务场景与工程实现的深度结合。在高考志愿填报这一典型场景中,考生往往面临数据分散、信息不对称的难题,如何基于位次匹配与录取趋势分析,提供“冲刺、稳妥、保底”的梯度化推荐,正是智能推荐技术的价值体现。以基于Spring Boot构建的高考志愿推荐系统为例,从架构设计、数据库建模、推荐算法实现到部

weixin_42570296的博客 211
上一篇: Es按照时间段统计总数
下一篇: JAVA启动bat脚本,使用Runtime.getRuntime().exec() 运行时遇到的坑
一个小白开发
博客等级 码龄7年 1244粉丝 34原创
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值