2013-04-10 141 views
4

我在我的映射日期字段的设置是这样的:Elasticsearch日期字段中的空字符串?

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

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

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

看来elasticsearch支持JSON空值...我需要使用“”为空切换我的文档或者是有一些方法可以让我支持使用空字符串代替?

+0

呃...大声笑。谢谢。 – Troy 2013-04-10 19:04:06

回答

10

听起来像你自己可能已经回答了这个问题。在日期字段中使用空值而不是“”应该可以工作。

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

index.mapping.ignore_malformed全局设置可以在指数级别设置为允许在所有类型的映射全球忽略格式不正确的内容(格式不正确内容示例正在尝试将字符串值作为数字类型进行索引)。

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

编辑 编辑上方的网址,再跳到新的信息。

+0

即使我面临这个问题。我应该在哪里设置这个值? – BSingh 2013-09-13 21:49:40

+1

试着看看这个页面下半部分的索引设置部分:http://www.elasticsearch.org/guide/reference/setup/configuration/ – Phil 2013-09-24 15:27:06

+0

@Phil这个链接没有关于设置ignore_malformed,所以假设它已经改变了?任何人有任何想法? – 2015-05-12 09:08:26