Elasticsearch 搜索条件与聚合结果再进行过滤的多重聚合查询-过滤桶的使用(六)
- Elasticsearch 搜索条件与聚合结果再进行过滤的多重聚合查询-过滤桶的使用(六)
- 实现的需求:数据分析的大范围是福特的车子,而且还需要上个月这个牌子的汽车的平均售价
- 需求分析:
- Rest-Api
- java-api
- 查询结果
- 实现的需求:数据分析的大范围是福特的车子,而且还需要上个月这个牌子的汽车的平均售价
本篇文章使用到的数据仍旧引用第一篇的数据ElasticSearch超强聚合查询(一)
本节主要讲解关于针对聚合结果进行一个过滤
实现的需求:数据分析的大范围是福特的车子,而且还需要上个月这个牌子的汽车的平均售价
条件A是属于聚合查询条件,在这个条件的的条件B则可以通过过滤桶来进行实现.
Rest-Api
GET /cars/transactions/_search
{"size" : 0,"query":{"match": {"make": "ford"}},"aggs":{"recent_sales": {"filter": { "range": {"sold": {"from": "now-1M"}}},"aggs": {"average_price":{"avg": {"field": "price" }}}}}
}
java-api
@Testpublic void filterBulk(){SearchResponse response = transportClient.prepareSearch("cars").setTypes("transactions").setQuery(//查找条件QueryBuilders.matchQuery("make","ford")).addAggregation(AggregationBuilders.filter("range",QueryBuilders.rangeQuery("sold").from("now-1M"))//这一步必须在前面否则过滤器会无效,巨坑,笔者被坑了好久才找到原因.subAggregation(AggregationBuilders.avg("single_avg_price").field("price"))).get();Aggregation avg_price_name = response.getAggregations().get("single_avg_price");System.out.println(avg_price_name);}
查询结果
{"took": 1,"timed_out": false,"_shards": {"total": 5,"successful": 5,"skipped": 0,"failed": 0},"hits": {"total": 1,"max_score": 0.6931472,"hits": [{"_index": "cars","_type": "transactions","_id": "AWIFx7jO5idSEZHc8G0Q","_score": 0.6931472,"_source": {"price": 30000,"color": "green","make": "ford","sold": "2014-05-18"}}]},"aggregations": {"range": {"doc_count": 0,"single_avg_price": {//因为我们查的是上一个月的,笔者的查询时间是2018年3月份,因为在数据库中上个月没有数据记录,所以上个月的平均值是Null"value": null}}}
}
Elasticsearch 搜索条件与聚合结果再进行过滤的多重聚合查询-过滤桶的使用(六)相关推荐
- elasticsearch搜索条件
elasticsearch搜索条件 1.组合条件 filter:过滤条件 must:and should: OR mustNot:not 2.查询QueryBuilders 2.1 完全匹配(term ...
- ElasticSearch搜索底层基础原理总结
目录: 1._search结果分析 2.multi-index和multi-type 3.分页查询与deep paging 4.query DSL和query string 5.mapping 6.倒 ...
- JAVA商城项目(微服务框架)——第11天 elasticsearch搜索
0.学习目标 独立安装Elasticsearch 会使用Rest的API操作索引 会使用Rest的API查询数据 会使用Rest的API聚合数据 掌握Spring Data Elasticsearch ...
- 分布式搜索elasticsearch搜索功能【深入】
elasticsearch搜索功能[深入] 分布式搜索elasticsearch搜索功能[深入] 1.数据聚合 1.1 聚合的种类 1.2 DSL实现聚合 1.2.1 Bucket聚合 1.2.2 M ...
- 分布式搜索elasticsearch搜索功能【进阶】
elasticsearch搜索功能 分布式搜索elasticsearch搜索功能 1.DSL查询文档 1.1 DSL查询分类 1.2 全文检索查询 1.3 精准查询 1.4 地理坐标查询 1.5 组合 ...
- Elasticsearch仿京东、淘宝APP客户端的商品侧边栏筛选条件过滤和分页列表查询的实现案例
目录 需求分析 项目环境 API接口实现 需求分析 通过Elasticsearch完成商品列表查询和分类.品牌.规格参数的分组聚合统计查询 当用户输入关键字搜索后,查询出商品列表后点击右上角筛选按钮, ...
- Elasticsearch 搜索测试与集成Springboot3
Elasticsearch是专门做搜索的,它非常擅长以下方面的问题 Elasticsearch对模糊搜索非常擅长(搜索速度很快) 从Elasticsearch搜索到的数据可以根据评分过滤掉大部分的,只 ...
- 图解ElasticSearch 搜索原理
点击上方蓝色"方志朋",选择"设为星标" 回复"666"获取独家整理的学习资料! 来源:https://www.cnblogs.com/ri ...
- 图解 ElasticSearch 搜索原理
摘要 先自上而下,后自底向上的介绍ElasticSearch的底层工作原理,试图回答以下问题: 为什么我的搜索 *foo-bar* 无法匹配 foo-bar ? 为什么增加更多的文件会压缩索引(Ind ...
最新文章
- navicat连接云数据库报错2003,2005
- 华为HCIA-Transmission H31-311练习题
- php注册页面模板,选项卡式WordPress登陆注册模板
- php采集单线程卡死,php - 为什么我这段curl采集,单线程比多线程还快?
- 探索pytest的fixture(上)
- php项目踩到的empty函数的一个坑
- 真正的焦虑感来自对比
- 【嵌入式模块】再探ESP8266,保姆级教程
- 2.2、项目管理知识体系构成
- AprilTag: A robust and flexible visual fiducial system论文解读
- ERNIE-Search: Bridging Cross-Encoder with Dual-Encoder via Self On-the-fly Distillation
- 请求头(request headers)和响应头(response headers)解析
- 学如逆水行舟,不进则退。
- Visual Studio 默认编码为 utf-8
- Thinkpad w530 换内存视频教程
- 关于Celeba人脸数据集的介绍
- Photoshop CS2 视频教程-PS色彩范围(转)
- TCP/IP协议栈之LwIP(六)---网络传输管理之TCP协议
- Pandas中loc和iloc函数的用法
- 2021年三门中学高考成绩查询,2021长沙市地区高考成绩排名查询,长沙市高考各高中成绩喜报榜单...