当前位置:网站首页 > Java基础 > 正文

java实现聚合桶教程



全局聚合,最顶级的聚合,无法嵌入到其他bucket聚合+

example:

 
  

result:

 
  

分析:global 查询了上下文 所有文档的 平均价格。avg_price 是为global 注册的聚合。

javaApi:

1. 创建聚合请求

 
  

2.分析结果

 
  

定义当前文档集上下文中与指定筛选器匹配的所有文档的单个桶。通常,这将用于将当前聚合上下文缩小到特定的一组文档。

简而言之 ,就是先查,再根据查到的再聚合。

example:

 
  
 
  

分析:我们计算了所有t恤类型产品的平均价格。

javaapi:

 
  

定义一个多桶聚合,其中每个桶与一个过滤器关联。每个bucket将收集与其关联的过滤器匹配的所有文档。

简而言之,先构建多个过滤器,再根据这些过滤器聚合。应用场景,如果你group by 后面的条件不仅仅是字段,而需要将字段中的各个值,重新分类,定义成不同的类型再group by,可以用这个聚合。

example

 
  
 
  

javaapi:

request:

 
  

response:

 
  

anonymous filters 匿名

详情见官方文档,就是filter字段可以用过滤器数组,不需要对过滤器命名

可以将other_bucket参数设置为向响应添加一个bucket,该响应将包含与任何给定过滤器不匹配的所有文档。

 
  
 
  

Missing Aggregation 缺省聚合

一个基于字段数据的单桶聚合,它为当前文档集 中缺少字段值 的所有文档创建一个桶(实际上,缺少字段 或具有已配置的 空值集)。此聚合器通常 与其他字段 数据桶聚合器(例如范围)一起使用,以返回由于缺少字段数据值 而无法放在任何其他桶中 的所有文档的信息。简而言之,就是可以将 为空值的数据 放到一个桶中。

 
  
 
  

获得没有价格的产品总数,为0很正常,产品怎么会没价格。

javaapi:

 
  

分析结果,同上。

 
  
 
  

正如您在上面看到的,嵌套聚合需要顶层文档中的嵌套文档的路径。然后可以在这些嵌套文档上定义任何类型的聚合。

聚合将返回可以购买产品的最低价格

javaapi:

 
  

分析结果同上。




 
     
 
     

 
     
 
     
 
     
 
     
 
     
 
     
 
     
 
     
 
     
 
     
 
     
 
     

或者你想要设置一个十天的间隔

 
     
 
     

 
     

#

各聚合解释可看官方文档:文档文档

#

#

文章转载自:https://blog.csdn.net/yusen0/article/details/

#

  • 上一篇: java转换桌教程
  • 下一篇: 自学java教程
  • 版权声明


    相关文章:

  • java转换桌教程2025-12-05 09:58:04
  • java教程书籍2025-12-05 09:58:04
  • Java面向对象程序设计实训教程2025-12-05 09:58:04
  • java教程1612025-12-05 09:58:04
  • java扫码跳转教程2025-12-05 09:58:04
  • 自学java教程2025-12-05 09:58:04
  • java教程132025-12-05 09:58:04
  • JAVA开发教程安卓版2025-12-05 09:58:04
  • java队列学习教程2025-12-05 09:58:04
  • java缓冲教程2025-12-05 09:58:04