• 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 搜索条件与聚合结果再进行过滤的多重聚合查询-过滤桶的使用(六)相关推荐

  1. elasticsearch搜索条件

    elasticsearch搜索条件 1.组合条件 filter:过滤条件 must:and should: OR mustNot:not 2.查询QueryBuilders 2.1 完全匹配(term ...

  2. ElasticSearch搜索底层基础原理总结

    目录: 1._search结果分析 2.multi-index和multi-type 3.分页查询与deep paging 4.query DSL和query string 5.mapping 6.倒 ...

  3. JAVA商城项目(微服务框架)——第11天 elasticsearch搜索

    0.学习目标 独立安装Elasticsearch 会使用Rest的API操作索引 会使用Rest的API查询数据 会使用Rest的API聚合数据 掌握Spring Data Elasticsearch ...

  4. 分布式搜索elasticsearch搜索功能【深入】

    elasticsearch搜索功能[深入] 分布式搜索elasticsearch搜索功能[深入] 1.数据聚合 1.1 聚合的种类 1.2 DSL实现聚合 1.2.1 Bucket聚合 1.2.2 M ...

  5. 分布式搜索elasticsearch搜索功能【进阶】

    elasticsearch搜索功能 分布式搜索elasticsearch搜索功能 1.DSL查询文档 1.1 DSL查询分类 1.2 全文检索查询 1.3 精准查询 1.4 地理坐标查询 1.5 组合 ...

  6. Elasticsearch仿京东、淘宝APP客户端的商品侧边栏筛选条件过滤和分页列表查询的实现案例

    目录 需求分析 项目环境 API接口实现 需求分析 通过Elasticsearch完成商品列表查询和分类.品牌.规格参数的分组聚合统计查询 当用户输入关键字搜索后,查询出商品列表后点击右上角筛选按钮, ...

  7. Elasticsearch 搜索测试与集成Springboot3

    Elasticsearch是专门做搜索的,它非常擅长以下方面的问题 Elasticsearch对模糊搜索非常擅长(搜索速度很快) 从Elasticsearch搜索到的数据可以根据评分过滤掉大部分的,只 ...

  8. 图解ElasticSearch 搜索原理

    点击上方蓝色"方志朋",选择"设为星标" 回复"666"获取独家整理的学习资料! 来源:https://www.cnblogs.com/ri ...

  9. 图解 ElasticSearch 搜索原理

    摘要 先自上而下,后自底向上的介绍ElasticSearch的底层工作原理,试图回答以下问题: 为什么我的搜索 *foo-bar* 无法匹配 foo-bar ? 为什么增加更多的文件会压缩索引(Ind ...

最新文章

  1. navicat连接云数据库报错2003,2005
  2. 华为HCIA-Transmission H31-311练习题
  3. php注册页面模板,选项卡式WordPress登陆注册模板
  4. php采集单线程卡死,php - 为什么我这段curl采集,单线程比多线程还快?
  5. 探索pytest的fixture(上)
  6. php项目踩到的empty函数的一个坑
  7. 真正的焦虑感来自对比
  8. 【嵌入式模块】再探ESP8266,保姆级教程
  9. 2.2、项目管理知识体系构成
  10. AprilTag: A robust and flexible visual fiducial system论文解读
  11. ERNIE-Search: Bridging Cross-Encoder with Dual-Encoder via Self On-the-fly Distillation
  12. 请求头(request headers)和响应头(response headers)解析
  13. 学如逆水行舟,不进则退。
  14. Visual Studio 默认编码为 utf-8
  15. Thinkpad w530 换内存视频教程
  16. 关于Celeba人脸数据集的介绍
  17. Photoshop CS2 视频教程-PS色彩范围(转)
  18. TCP/IP协议栈之LwIP(六)---网络传输管理之TCP协议
  19. Pandas中loc和iloc函数的用法
  20. 2021年三门中学高考成绩查询,2021长沙市地区高考成绩排名查询,长沙市高考各高中成绩喜报榜单...

热门文章

  1. 汇编学习教程:bx的作用
  2. ubuntu AndroiStudio 中 外设(手机、平板) 无法使用
  3. 大学三年级(yuan)
  4. DD模型--传统金融中介会被互联网金融打败吗?
  5. 狼人杀,对产品经理的好处有哪些?
  6. unbuntu 中远程桌面连接 tab键不能用
  7. Log4j2远程命令执行2-vulfocus-wp
  8. 指针详解(包含指针,指针数组,数组指针,指向数组指针的指针,函数指针,函数指针数组,指向函数指针数组的指针)
  9. 数字领航 科技赋能 | 优锘科技与新华三强强联手加速智慧医院可视化进程!ThingJS
  10. 创业初期,教你迅速组建优秀的创业团队