aggregations | 学习笔记

简介: 快速学习 aggregations

开发者学堂课程【ElasticSearch 入门精讲aggregations学习笔记,与课程紧密连接,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/631/detail/9999


Aggregations


ES 查询详解之 aggregations

根据字段进行分组统计

根据字段分组,统计其他字段的值

size 设置为0,会获取所有数据,否则,只会返回10条。

/**

*聚合查询演示

*/

@Test

public void aggregationsearch() {

//需求:查询 bank 索引库中,所有女性员工数,最年轻的员工的年龄,最低薪水(银行存款余额),以及平均薪水。

//步骤:

//1)检索

SearchResponse response=client.prepareSearch(indices)

.setTypes("account")

//设置检索的条件

.setQuery(QueryBui1ders.termquery("gender.keyword","F"))

//设置聚合操作

//1员工数

.addAggregation(new valueCountAggregationBuilder("cntemp",ValueType.LONG).fie1d("account_number"))

//1最年轻的(女性)员工的年龄.addAggregation(new MinAggregationBuilder("minage").field("age"))

//1(女性员工)最少银行存款余额.addAggregation(new Minaggregationbuilder("minBalance").field("balance"))

//1(女性员工)平均银行存款余额.addAggregation(new AvgAggregationbui1der("avgbalance").field("balance"))

//触发检索

.get();

//2)分析检索后的结果

Aggregations aggregations=response.getaggregations():

ValueCount cntEmp=aggregations.get("cntEmp");

Min minAge=aggregations.get("minAge");

Min minBalance=aggregations.get("minbalance");

Avg avgBalance=aggregations.get("avgBalance");

//3)显示结果

//%d,占位符,同时也是格式符,用来格式化整数的;%f:格式化小数:%s:格式化字符串;%n:用来换行

system.out.printf("bank索引库中,所有女性员工数是:%d,最年轻的员工的年龄:%.0f,最低银行存款余额:%.2f,以及平均银行存款余额:%.2f”,cntEmp.getvalue(),minAge.getvalue(),minbalance.getvalue(),avgBalance.getvalue());

}

相关文章
|
运维 监控 安全
云上智能监控:引领未来安防与运维的新纪元
通过智能视频分析技术自动识别违章行为(如闯红灯、超速等)并触发报警机制。同时结合交通流量监测和信号灯控制功能实现交通流量的优化和拥堵缓解。 智能零售监控:在零售行业中云上智能监控可以应用于店铺的客流统计和商品管理。
|
10月前
|
存储 算法 索引
【狂热算法篇】探秘差分数组:算法星河中闪耀的区间掌控之星
【狂热算法篇】探秘差分数组:算法星河中闪耀的区间掌控之星
|
人工智能 Serverless
AI助理精准匹配,为您推荐方案——如何添加一个Stable Difussion图像生成应用
介绍了一种利用AI助手快速获取并搭建Stable Diffusion图像生成应用的方法。用户只需在阿里云官网向AI助手提出需求,即可获得详细的实施方案。随后,按照AI助手提供的方案,通过函数计算部署应用,并进行测试。此过程显著提升了开发效率。
1088 2
AI助理精准匹配,为您推荐方案——如何添加一个Stable Difussion图像生成应用
|
Linux Python
用python扫描linux开放的端口(3种方式)
这篇文章介绍了三种使用Python实现Linux端口扫描的方法,包括基础版端口扫描、全端口扫描和多线程扫描技术。
485 16
|
API
Vue3组件通信全解析:利用props、emit、provide/inject跨层级传递数据,expose与ref实现父子组件方法调用
Vue3组件通信全解析:利用props、emit、provide/inject跨层级传递数据,expose与ref实现父子组件方法调用
3513 0
|
人工智能 API 语音技术
用Python解锁微软Edge的文本转语音服务
近来,TTS模型工具给大家也分享了不少,对于一些小白或有需要的人是提供了一个额外的选项。 但作为编程人员/研发人员,或者需要集成TTS服务的人来说,好像又有点麻烦。 今天就为大家分享一个非常有趣的项目—edge-tts。
|
机器学习/深度学习 TensorFlow 算法框架/工具
全面解析TensorFlow Lite:从模型转换到Android应用集成,教你如何在移动设备上轻松部署轻量级机器学习模型,实现高效本地推理
【8月更文挑战第31天】本文通过技术综述介绍了如何使用TensorFlow Lite将机器学习模型部署至移动设备。从创建、训练模型开始,详细演示了模型向TensorFlow Lite格式的转换过程,并指导如何在Android应用中集成该模型以实现预测功能,突显了TensorFlow Lite在资源受限环境中的优势及灵活性。
1613 0
|
数据可视化 数据挖掘
jupternotebook和jupterLab有什么区别?
jupternotebook和jupterLab有什么区别?
2324 0
|
数据采集 存储 运维
如何成功实施一个数据治理项目?实施步骤有哪些?
企业数字化转型以数据为中心,通过数据驱动业务发展、管理协同和运营。因此,数字化转型关键在于数据,数据治理则需先行。从而更好激发数据生产要素潜能,实现业务数据化、数据价值化,助力企业数字化转型。
1257 0