ElasticSearch日期范围查询不适用于自定义日期格式

问题描述 投票:1回答:1

我在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个回答
1
投票

你有一切正确...除了搜索终点,这是_search而不是search

GET test/_doc/_search
              ^
              |
           add this

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

© www.soinside.com 2019 - 2024. All rights reserved.