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

Fly*_*ger 4 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"
      }
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

Val*_*Val 8

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

{
  "size": 0,
  "query": {
    "range": {
      "date": {
        "gte": "now+1m-1M/M",
        "lt": "now/M",
        "time_zone": "+00:00"
      }
    }
  }
}
Run Code Online (Sandbox Code Playgroud)