ElasticSearch Facets / Aggregations排序/排序

时间:2014-11-25 09:06:38

标签: sorting elasticsearch elasticsearch-aggregation

有没有人知道如何从一个范围订购聚合/方面存储桶到一个可预测的顺序i / e它们被添加到方面的顺序?

目前,1.4分支(以及可能较旧的分支机构)通过" doc_count"对这些分区进行排序。这是不可预测的。我希望能够以预定义的顺序输出桶。

1 个答案:

答案 0 :(得分:0)

一种简单的方法可以是在Elasticsearch的响应中为您订购它们。另一种方式可以是按术语排序(聚合的关键)。

更新

如果您使用下面的查询使用日期范围聚合,则结果将按照" 3天前","昨天","今天&的时间顺序自动显示#34;不论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"
                }
              ]
          }
      }
  }
}

如果您对每日数据感兴趣,那么Date histogram会更方便。