ElasticSearch基于列表对存储桶进行排序

时间:2019-04-29 13:24:27

标签: sorting elasticsearch bucket

select聚合查询中,我要基于

来对存储桶进行排序
  1. 外部排序列表-如果该项目存在于此外部排序列表中,则应使用此列表
  2. 存储桶内部聚合,例如sum-如果外部排序列表中不存在内部聚合,请使用这些聚合

示例:假设在ES中,我们获得了termsA1A2A3的存储桶。外部排序列表具有A4。并针对每个存储桶进行如下汇总:

[A3, A1]

我希望最终订单为A1: 20 A2: 30 A3: 10 A4: 60

如何编写此查询?我已经在文档级看到了这个用例,人们已经使用脚本查询完成了该用例。但是对于分类桶,我看不到。

1 个答案:

答案 0 :(得分:1)

想法是将bucket_sort pipeline aggregationscript-based sorting一起使用。

但是,目前尚不支持此功能,但是有一个open issue旨在解决这个问题。