![](/img/trans.png)
[英]Convert Date into simple DD-MM-YYYY HH24:MI:SS format in SQL
[英]Indexing date fields with format “dd-MM-yyyy HH:mm:ss” into ElasticSearch 2.2.1
有没有人能够将日期格式为“ dd-MM-yyyy HH:mm:ss”的日期字段索引到ElasticSearch 2.2.1中?
我的映射如下:
"_updated_at": { "type": "date", "format": "Y-MM-d' 'H:m:ss" }
当我尝试建立索引时,出现以下错误:
java.lang.RuntimeException: MapperParsingException[failed to parse [doc._created_at]]; nested: IllegalArgumentException[Invalid format: "2015-10-03 13:56:21" is malformed at " 13:56:21"];
这似乎很疯狂,因为上述日期格式很常见。
有什么解决方法(除了用“ T”代替空格)?
请更新您的映射到
“ _updated_at”:{“ type”:“ date”,“ format”:“ dd-MM-yyyy HH:mm:ss”}
另外,在将日期传递给ES时,请确保您使用“ dd-MM-yyyy HH:mm:ss”作为日期格式
我认为除了_updated_at
之外,您还必须为_created_at
做相同的映射:
"_created_at": {
"type": "date",
"format": "Y-MM-d' 'H:m:ss"
}
我已经解决了问题。 我必须使用_default映射-确保将日期字段(_created_at,_updated_at和_deleted_at)设置为正确的格式。 最初,我只设置一种类型。
这是我的更正映射:
{
"mappings": {
"_default": {
"properties": {
"doc": {
"properties": {
"_created_at": {
"type": "date",
"format": "Y-MM-d' 'H:m:ss"
},
"_deleted_at": {
"type": "date",
"format": "Y-MM-d' 'H:m:ss"
},
"_updated_at": {
"type": "date",
"format": "Y-MM-d' 'H:m:ss"
}
}
}
}
}
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.