我正在索引推文,并希望将created_at字段映射到日期.示例日期如下所示:
'created_at': 'Wed Sep 21 05:19:16 +0000 2011'
Run Code Online (Sandbox Code Playgroud)
使用JODA时间格式,我发现是:
"format" : "EEE MMM dd HH:mm:ss +SSSS yyyy",
Run Code Online (Sandbox Code Playgroud)
但是,在尝试索引新推文时,我收到以下错误:
{u'status': 400, u'error': u'RemoteTransportException[[Rattler][inet[/192.155.85.243:9301]][index]]; nested: MapperParsingException[Failed to parse [created_at]]; nested: MapperParsingException[failed to parse date field [2013-04-30 20:34:43], tried both date format [yyyyMMdd HH:mm:ss], and timestamp number]; nested: IllegalArgumentException[Invalid format: "2013-04-30 20:34:43" is malformed at "-04-30 20:34:43"]; '}
Run Code Online (Sandbox Code Playgroud)
我已经尝试更改要使用的日期格式
yyyy-MM-dd HH:mm:ss
EEE, dd MMM yyyy HH:mm:ss Z
EEE dd MMM yyyy HH:mm:ss Z
EEE MMM dd HH:mm:ss +0000 yyyy
Run Code Online (Sandbox Code Playgroud)
,和其他几个变化只是看,没有运气.我正在使用以下调用来创建初始推文文档:
curl -XPUT 'http://localhost:9200/twitter/tweet/1' -d '{
"tweet" : {
"properties" : {
"created_at" : {"type" : "date", "format" : "EEE dd MMM yyyy HH:mm:ss Z"}
}
}
}'
Run Code Online (Sandbox Code Playgroud)
任何帮助是极大的赞赏!
Hen*_*vik 10
您指定的Joda时间格式不完全正确.S是秒的一小部分,而不是你想要的时区.">"符号也包含在时区解析器中.
我设法使用以下格式说明符解析elasticsearch中的twitter日期格式:
"format": "EE MMM d HH:mm:ss Z yyyy"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2079 次 |
| 最近记录: |