【问题标题】:ElasticSearch Date Range Query not working for custom date formatElasticSearch 日期范围查询不适用于自定义日期格式
【发布时间】:2019-02-27 07:15:57
【问题描述】:

我在 elasticsearch 中创建了一个测试索引,其中包含 2 个日期字段的映射。这两个字段都有自定义格式,如下所示。

{
  "test" : {
    "mappings" : {
      "_doc" : {
        "properties" : {
          "endTime" : {
            "type" : "date",
            "format" : "yyyy-MM-dd HH:mm:ss.SSS"
          },
          "startTime" : {
            "type" : "date",
            "format" : "yyyy-MM-dd HH:mm:ss.SSS"
          }
        }
      }
    }
  }
}

我为此示例测试索引加载的数据如下所示。

PUT test/_doc
{
  "startTime" : "2019-02-26 00:00:00.000",
  "endTime" : "2019-02-27 00:00:00.000"
}

我正在尝试根据范围进行查询,但它不返回任何结果。我错过了什么吗?我的范围查询如下。

GET test/_doc/search
{
  "query": {
    "bool": {
      "must": {
        "range": {
          "endTime": {
            "gte": "2019-02-25 00:00:00.000",
            "format" : "yyyy-MM-dd HH:mm:ss.SSS"
          }
        }
      }
    }
  }
}

【问题讨论】:

    标签: elasticsearch


    【解决方案1】:

    您已经做对了...除了搜索端点,它是 _search 而不是 search

    GET test/_doc/_search
                  ^
                  |
               add this
    

    另外请注意,您可能创建了一个 ID 为 search 的新文档,您可能希望使用 DELETE test/_doc/search 将其删除。

    【讨论】:

    • 是的,这似乎是个错误。谢谢
    • 另外请注意,为了他人的利益,您应该提出一个新问题,而不是修改原来的问题来提出一个新的无关问题...
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-09-19
    • 1970-01-01
    • 2019-07-17
    • 1970-01-01
    • 2020-04-07
    • 2015-12-11
    • 1970-01-01
    相关资源
    最近更新 更多