Elasticsearch聚合唯一值并按自定义dateTime字段排序

时间:2018-10-09 22:49:05

标签: elasticsearch

我有一个包含很多文档的索引,这些文档主要包括两个字段:dateTimetickValue

我想查询前一天的所有tickValues,但按日期排序。

这是我到目前为止得到的:

{
"query": {
        "bool": {
          "must": [
            {
              "query_string": {
                "query": "exchange: "randomExchangeName",
                "analyze_wildcard": true, 
                "default_field": "*" 
              } 
            }, 
            { 
              "range": { 
                "dateTime": { 
                  "gte" : "now-1d", 
                  "lte" :  "now" 
                } 
              } 
            } 
          ], 
          "filter": [], 
          "should": [],
          "must_not": []
        }
      },
  "size": 0,
  "aggs": {
    "byDate" : {
      "terms": {
        "field" : "dateTime",
        "order": { "_key": "desc" }  
      },
      "aggs": {
        "ticks": {
          "top_hits": {
            "size" : 1,
            "_source": "tickValue"
          }

        }
      }
    }
  }
}

我成功地获得了按日期排序的刻度线,但是刻度线并不是唯一地汇总在一起的,它们都会重复出现。我在这里做什么错了?

0 个答案:

没有答案