ElasticSearch Date Range Query не работает для пользовательского формата даты - PullRequest
0 голосов
/ 27 февраля 2019

Я создал тестовый индекс вasticsearch с отображением для 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"
          }
        }
      }
    }
  }
}

1 Ответ

0 голосов
/ 27 февраля 2019

У вас все в порядке ... кроме конечной точки поиска, которая _search не search

GET test/_doc/_search
              ^
              |
           add this

Также обратите внимание, что вы, вероятно, создали новый документ с идентификатором search, вы, вероятно, хотите удалить его, используя DELETE test/_doc/search.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...