ES 格式化日期查询

最近做需求时,需要一个ES查询问题。

根据时间字段查询,时间字段create_time是yyyy-MM-dd HH:mm:ss这种格式的。

正常查询如下:

{
  "query": {
    "bool": {
      "must": [
        {
          "range": {
            "createTime": {
              "gte": "2021-05-20 00:00:00",
              "lt": "2021-05-21 00:00:00"
            }
          }
        }
      ]
    }
  }
}

 

但遇到一个问题,把ES数据每天增量需要同步到HIVE中,按时间字段增量同步,使用的平台对yyyy-MM-dd格式支持较好,对 yyyy-MM-dd 00:00:00支持不太友好。

于是改写了一下查询条件如下,增量同步的配置中,日期使用平台函数替换,经验证,达到查询后的预期结果,特此做一下笔记:

{
  "query": {
    "bool": {
      "must": [
        {
          "range": {
            "createTime": {
              "gte": "2021-05-20",
              "lt": "2021-05-21",
              "format": "yyyy-MM-dd"
            }
          }
        }
      ]
    }
  }
}

 

posted @ 2021-05-21 11:30  xuzhujack  阅读(8300)  评论(0编辑  收藏  举报
;