如何在Elasticsearch中查询上个月的数据

时间:2019-08-09 08:45:12

标签: elasticsearch

我想从elasticsearch获取上个月的数据。

例如,今天是09/08/2019,因此上个月的数据应从01/07/2019-31/07/2019。

我尝试设置时间范围"gte": "now+1m-1M/M",“ gte”大于或等于,它将返回从01/07/2019(上个月的第一天)到09/08 /的数据2019(今天)。

我认为要使用正确的日期范围进行查询,我需要使用“ lte”(小于或等于)来指定上限。如何定义一个月的最后一天?

{
  "size": 0,
  "query": {
    "range": {
      "date": {
        "gte": "now+1m-1M/M",
        "time_zone": "+00:00"
      }
    }
  }
}

1 个答案:

答案 0 :(得分:3)

我要做的是在当月初添加一个lt约束,如下所示:

{
  "size": 0,
  "query": {
    "range": {
      "date": {
        "gte": "now+1m-1M/M",
        "lt": "now/M",
        "time_zone": "+00:00"
      }
    }
  }
}