0

有谁知道如何将聚合/构面桶从一个范围排序为可预测的顺序,即它们被添加到构面的顺序?

目前,1.4 分支(可能还有较旧的分支)按“doc_count”对存储桶进行排序,这是不可预测的。我希望能够以预定义的顺序输出存储桶。

4

1 回答 1

0

一种简单的方法是在您最后根据 Elasticsearch 的响应对它们进行排序。另一种方式可能是按术语排序(聚合的键)。

更新:

如果您使用带有如下查询的日期范围聚合,则结果将自动按“3 天前”、“昨天”、“今天”的时间顺序排列,而与 doc_count 无关。

 {
   "aggs" : {
       "timerange" : {
           "date_range" : {
               "field" : "day",
               "keyed" : true,
               "ranges" : [
                {
                    "key": "today",
                    "from": "now/d"
                }
                ,
                {
                    "key": "yesterday",
                    "from": "now-1d/d",
                    "to": "now/d"
                },
                {
                    "key": "3 days ago",
                    "from": "now-3d/d",
                    "to": "now-2d/d"
                }
              ]
          }
      }
  }
}

如果您对每日数据感兴趣,那么日期直方图会更方便。

于 2014-11-25T12:47:16.853 回答