【问题标题】:Elasticsearch (7.3) date mapping parsing failuresElasticsearch (7.3) 日期映射解析失败
【发布时间】:2020-03-15 09:08:44
【问题描述】:

我已将 elasticsearch 从 6.2.3 升级到 7.3

ES 中的映射如下所示:

"completion_date" : {
          "type" : "date",
          "store" : true,
          "format" : "yyyy-MM-dd'T'HH:mm:ss.SSSZ||yyyy-MM-dd'T'HH:mm:ssZ||yyyy-MM-dd"
        }

失败并出现以下异常:

Elasticsearch 异常 [type=mapper_parsing_exception,reason=failed to parse field [completion_date] in document ....4181937'。字段值预览:'2018-01-23T16:40:00.000Z']

您能帮我解释一下为什么会这样,我该如何解决?

【问题讨论】:

    标签: date elasticsearch indexing lucene


    【解决方案1】:

    我同意你的观点,我试过了,发现它在 ES6 中有效,但在 ES7 中无效。但是,如果您输入以下格式,它似乎可以工作:

    "format" : "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"
    

    但我不认为这是最好的解决方案,因为它没有在documentation 中这样指定(也许他们稍后会更新它)。 对我来说,最好的解决方案是使用文档中指定的名称来调用格式:es doc

    所以你的映射应该是这样的:

    "completion_date" : {
          "type" : "date",
          "store" : true,
          "format" : "strict_date_time||strict_date_time_no_millis||strict_date"
        }
    

    希望有帮助!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-04
      • 1970-01-01
      相关资源
      最近更新 更多