当前位置:网站首页 > 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:

 

分析结果同上。




一种特殊的单桶聚合,支持在嵌套文档中 聚合父文档。这种聚合可以有效地 跳出 嵌套块结构,并链接到 其他嵌套结构 或根文档,从而允许 将不属于嵌套对象 的其他聚合 嵌套在 嵌套聚合中。
The aggregation 必须被定义在 inside a aggregation.

 
 
 
 
 
 
 
 
 
 
 
 
 
 

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

 
 
 

#

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

#

#

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

#

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


    相关文章:

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