默认格式的Elasticsearch日期解析问题

时间:2020-01-22 04:57:37

标签: java elasticsearch

我的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"时,它可以工作。

有人可以解释为什么会发生这种情况,或者我在这里缺少什么(默认格式)?

0 个答案:

没有答案