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

问题描述 投票:1回答:1

terms聚合查询中,我想基于的顺序对桶进行排序

  1. 外部排序列表 - 如果该外部排序列表中存在该项,则应使用此列表
  2. 桶内部聚合(如sum) - 如果外部排序列表中不存在,请使用这些聚合

例如:让我们说在ES中我们得到了A1A2A3A4的桶。外部排序列表有[A3, A1]。对于每个桶,我们有一个总和聚合如下:

A1: 20
A2: 30
A3: 10
A4: 60

我希望最终订单为[A3, A1, A4, A2]

我该如何写这个查询?我在文档级别看到过这个用例,人们用脚本查询完成了这个用例。但是对于分类桶,我无法看到。

sorting elasticsearch bucket
1个回答
1
投票

这个想法是使用bucket_sort pipeline aggregationscript-based sorting

然而,这还没有得到支持,但有一个open issue旨在解决这个问题。

© www.soinside.com 2019 - 2024. All rights reserved.