谷粒商城day71 -全文检索-ElasticSearch-进阶-aggregations聚合分析

本文主要是介绍谷粒商城day71 -全文检索-ElasticSearch-进阶-aggregations聚合分析,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

链接Aggregations | Elasticsearch Guide [7.10] | Elastic

现在我带大家来入门学习

如下我先查出 address  模糊匹配mill 的数据,类似于sql中的like

第一个聚合

 现在我发现查出四条数据,我还想看看他们的年龄分布,

这个时候需要使用aggs  

然后加入一个聚合对象,然后里面是聚合类型是terms 用来查看分布 最里层声明是哪个属性

可以看到右侧的结果,除了上面的查询结果 下面 countAge内的buckets内  有各年龄段人数的统计

就类似于 sql中的 count ... group by  ...

第二个聚合

查出年龄分布后再查出年龄平均值

不想看查询结果

指定size为0即可

 添加子聚合

比如我想看所有人的年龄分布,以及这些年龄分布里面的平均薪资

 现在知道如何添加子聚合(也就是聚合内添加聚合后)

实现 除了如上得到年龄分布以及平均薪资外,我还要得到,年龄分布中的男女的数量以及他们的平均薪资

 就到这,上面几个都是常用的,关于平均值与统计数量,其他的可以去上面贴过的链接学习

 添加子聚合加上 条件过滤

下面这段查询是 找出所有职员中,地址中包含 Avenue年龄 20到40区间的职员

的男女各自的的平均薪资 与 这个年龄段所有人的平均薪资

GET /bank/_search
{"query": {"bool": {"must": [{"match": {"address": "Avenue"}}], "filter": {"range": {"age": {"gte": 20,"lte": 40}}}}
},"aggs": {"ageAgg": {"terms": {"field": "age","size": 100},"aggs": {"genderAgg": {"terms": {"field": "gender.keyword"},"aggs": {"genderBlanceAgg": {"avg": {"field": "balance"}}}},"balanceAgg":{"avg": {"field": "balance"          }}}}}
}

查詢結果的分组部分如下

 

这篇关于谷粒商城day71 -全文检索-ElasticSearch-进阶-aggregations聚合分析的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/271227

相关文章

Springboot请求和响应相关注解及使用场景分析

《Springboot请求和响应相关注解及使用场景分析》本文介绍了SpringBoot中用于处理HTTP请求和构建HTTP响应的常用注解,包括@RequestMapping、@RequestParam... 目录1. 请求处理注解@RequestMapping@GetMapping, @PostMappin

SpringBoot简单整合ElasticSearch实践

《SpringBoot简单整合ElasticSearch实践》Elasticsearch支持结构化和非结构化数据检索,通过索引创建和倒排索引文档,提高搜索效率,它基于Lucene封装,分为索引库、类型... 目录一:ElasticSearch支持对结构化和非结构化的数据进行检索二:ES的核心概念Index:

Spring Boot Interceptor的原理、配置、顺序控制及与Filter的关键区别对比分析

《SpringBootInterceptor的原理、配置、顺序控制及与Filter的关键区别对比分析》本文主要介绍了SpringBoot中的拦截器(Interceptor)及其与过滤器(Filt... 目录前言一、核心功能二、拦截器的实现2.1 定义自定义拦截器2.2 注册拦截器三、多拦截器的执行顺序四、过

C++ scoped_ptr 和 unique_ptr对比分析

《C++scoped_ptr和unique_ptr对比分析》本文介绍了C++中的`scoped_ptr`和`unique_ptr`,详细比较了它们的特性、使用场景以及现代C++推荐的使用`uni... 目录1. scoped_ptr基本特性主要特点2. unique_ptr基本用法3. 主要区别对比4. u

MySQL 数据库进阶之SQL 数据操作与子查询操作大全

《MySQL数据库进阶之SQL数据操作与子查询操作大全》本文详细介绍了SQL中的子查询、数据添加(INSERT)、数据修改(UPDATE)和数据删除(DELETE、TRUNCATE、DROP)操作... 目录一、子查询:嵌套在查询中的查询1.1 子查询的基本语法1.2 子查询的实战示例二、数据添加:INSE

Nginx内置变量应用场景分析

《Nginx内置变量应用场景分析》Nginx内置变量速查表,涵盖请求URI、客户端信息、服务器信息、文件路径、响应与性能等类别,这篇文章给大家介绍Nginx内置变量应用场景分析,感兴趣的朋友跟随小编一... 目录1. Nginx 内置变量速查表2. 核心变量详解与应用场景3. 实际应用举例4. 注意事项Ng

Java多种文件复制方式以及效率对比分析

《Java多种文件复制方式以及效率对比分析》本文总结了Java复制文件的多种方式,包括传统的字节流、字符流、NIO系列、第三方包中的FileUtils等,并提供了不同方式的效率比较,同时,还介绍了遍历... 目录1 背景2 概述3 遍历3.1listFiles()3.2list()3.3org.codeha

Elasticsearch 的索引管理与映射配置实战指南

《Elasticsearch的索引管理与映射配置实战指南》在本文中,我们深入探讨了Elasticsearch中索引与映射的基本概念及其重要性,通过详细的操作示例,我们了解了如何创建、更新和删除索引,... 目录一、索引操作(一)创建索引(二)删除索引(三)关闭索引(四)打开索引(五)索引别名二、映射操作(一

Nginx分布式部署流程分析

《Nginx分布式部署流程分析》文章介绍Nginx在分布式部署中的反向代理和负载均衡作用,用于分发请求、减轻服务器压力及解决session共享问题,涵盖配置方法、策略及Java项目应用,并提及分布式事... 目录分布式部署NginxJava中的代理代理分为正向代理和反向代理正向代理反向代理Nginx应用场景

Redis中的有序集合zset从使用到原理分析

《Redis中的有序集合zset从使用到原理分析》Redis有序集合(zset)是字符串与分值的有序映射,通过跳跃表和哈希表结合实现高效有序性管理,适用于排行榜、延迟队列等场景,其时间复杂度低,内存占... 目录开篇:排行榜背后的秘密一、zset的基本使用1.1 常用命令1.2 Java客户端示例二、zse