Elasticsearch映射中的自定义日期格式
我正在尝试使用日期格式索引数据Tue May 14 17:06:01 PDT 2013
。如Elasticsearch
日期格式文档中所述,我需要使用自定义日期格式。我指的是DateTimeFormat文档,并且各自的格式是E M d H:m:s z Y
。
我能够创建映射,但是当我尝试索引数据时会给我错误。
回答:
{ "tweet": {
"properties": {
"user": {
"type": "string",
"index": "not_analyzed"
},
"message": {
"type": "string",
"null_value": "na"
},
"postDate": {
"type": "date",
"format": "E M d H:m:s z Y"
},
"priority": {
"type": "integer"
},
"rank": {
"type": "float"
}
}
}
}
回答:
curl -XPUT 'http://localhost:9200/tweets/tweet/1' -d '{ "user" : "kimchy",
"message" : "This is a tweet!",
"postDate" : "Tue May 14 17:06:01 PDT 2013",
"priority" : 4,
"rank" : 12.3
}'
回答:
{"error":"MapperParsingException[failed to parse [postDate]]; nested: MapperParsingException[failed to parse date field [Tue May 14 17:06:01 PDT 2013],
tried both date format [E M d H:m:s z Y], and timestamp number with locale []];
nested: IllegalArgumentException[Invalid format: \"Tue May 14 17:06:01 PDT 2013\"
is malformed at \"May 14 17:06:01 PDT 2013\"]; ","status":400}
有什么建议吗?
回答:
本月使用三个“ M”。引用API文档:
月:3岁或以上,请使用文字,否则请使用数字。
因此,您提供的输入的正确映射应为:
"postDate": { "type": "date",
"format": "E MMM d H:m:s z Y"
}
以上是 Elasticsearch映射中的自定义日期格式 的全部内容, 来源链接: utcz.com/qa/425206.html