13

我的映射中有一个日期字段设置,如下所示:

"groupsAssignedDate" : {
    "type" : "date",
    "format" : "MM-dd-YYYY"
}

在我的应用程序中,字段 groupsAssignedDate 最初设置为空字符串。分配组时,会生成一个 unix 时间戳并将其存储在该字段中。我正在尝试使用elasticsearch的批量更新功能来引入一堆groupAssignedDate为“”的文档,因为尚未分配任何组。不过,Elasticsearch 不会索引文档。这是在日志文件中:

Failed to parse [groupsAssignedDate]
...
failed to parse date field [], tried both date format [MM-dd-YYYY], and timestamp number

看来elasticsearch支持JSON空值......我需要将我的文档从使用“”切换到null还是有什么方法可以支持使用空字符串?

4

1 回答 1

22

听起来您可能已经自己回答了这个问题。只需在日期字段中使用 null 而不是 "" 就可以了。

如果这是一个问题,也许可以从
https://www.elastic.co/guide/en/elasticsearch/reference/current/ignore-malformed.html#ignore-malformed-setting考虑这个

可以在索引级别设置 index.mapping.ignore_malformed 全局设置,以允许在所有映射类型中全局忽略格式错误的内容(格式错误的内容示例试图将字符串值索引为数字类型)

编辑 编辑上面的 URL 以跳转到新信息。

编辑 再次编辑上面的 URL 以跳转到新信息。

于 2013-04-11T13:44:43.393 回答