我的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"
在以epoch中的memberDOB值将数据写入es -3715200000(即“ 1969-11-19”)时,出现此问题: MapperParsingException [无法解析ID为'ACX03:xcxcxcxcxcxcxcxcxcxc'的文档中[date]类型的字段[memberDOB]。字段值的预览:“-3715200000”];嵌套:NotSerializableExceptionWrapper [date_time_exception:年份的无效值(有效值-999999999-999999999):-3715200000]
从上述例外情况来看,似乎日期时间被视为yyyy-mm-dd格式。
我还在新索引中将格式更新为"format":"strict_date_optional_time||epoch_millis"
并尝试写入,但是仍然发生相同的错误。
但是当我将格式更新为"format":"epoch_millis"
时,它可以工作。
有人可以解释为什么会发生这种情况,或者我在这里缺少什么(默认格式)?