【问题标题】:how can I query last month data in elasticsearch如何在elasticsearch中查询上个月的数据
【发布时间】:2019-08-09 08:45:12
【问题描述】:

我想从 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"
      }
    }
  }
}

【问题讨论】:

  • gte -1 个月和现在的月份,四舍五入到月份?
  • 或者你可以 lt 2019-08-01 和 gte 2019-07-01

标签: elasticsearch


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2022-01-13
    • 1970-01-01
    • 1970-01-01
    • 2021-01-22
    • 1970-01-01
    • 1970-01-01
    • 2019-12-18
    • 2017-10-22
    • 2021-12-17
    相关资源
    最近更新 更多