弹性搜索每小时获得一条记录

时间:2018-09-12 08:04:31

标签: elasticsearch aggregate-functions

我想在一个日期范围内每小时仅获得一条记录。例如,如果我想获取两天之间的数据(28-08-2018-15-09-2018),则几乎有10000条记录,但是我想过滤结果以每小时仅显示一条记录,所以我使用聚合 date_histogram ,我每小时只能看到一条记录

查询:

{ 
    "size" : 0,
      "query": {
        "bool": {
          "must": [
                    {
              "range": {
                "createdtime": {
                  "gte": "1535201500000",
                  "lte": "1536756706000",
                  "boost": 2.0
                }
              }
            },

            {
              "match": {
                "gen": 1
              }
            },
            {
              "match": {
                "Mid": 350404
              }
            }
          ]
        }
      },

    "aggregations" : {
        "runtime" : {
            "date_histogram" : {
                "field" : "createdtime",
                "interval" : "1H",
                "min_doc_count": 1
            },"aggs": {
                "tops": {
                  "top_hits": {
                    "size": 1
                  }
                }
            }
        }
    }      
}

这里的问题是我想使用分页显示这些结果,因为我知道没有办法使用大小,并且从目前的聚合查询开始,我想知道是否还有其他方法可以只获取一条记录一个小时

0 个答案:

没有答案
相关问题