Моя версия es - 7.5.1
И отображение:
"dynamic": "strict",
"properties"{
...
"memberDOB": {
"type": "date"
}
...
}
По этой ссылке https://www.elastic.co/guide/en/elasticsearch/reference/current/date.html там написано:
Форматы даты могут быть настроены, но если формат не указан, тогда он использует значение по умолчанию: "strict_date_optional_time||epoch_millis"
при записи данных в es со значением memberDOB в эпоху как -3715200000, которая равна '1969-11- 19 ', я получил эту проблему: MapperParsingException [не удалось проанализировать поле [memberDOB] типа [date] в документе с идентификатором' ACX03: xcxcxcxcxcxcxcxcxcx c '. Предварительный просмотр значения поля: '-3715200000']; nested: NotSerializableExceptionWrapper [date_time_exception: Недопустимое значение для года (допустимые значения -999999999 - 999999999): -3715200000]
Из указанного исключения представляется, что дата эпохи рассматривается как гггг -mm-dd.
Я также обновил формат как "format":"strict_date_optional_time||epoch_millis"
в новом индексе и попытался записать, но все равно возникает ошибка.
Но когда я обновляю формат как "format":"epoch_millis"
, это работает.
Может кто-нибудь объяснить, почему это происходит или что мне здесь не хватает (для формата по умолчанию)?