我正在尝试将unixtimestamp存储为Elasticsearch Index中字段的值。我使用的版本是1.7.3。 索引该字段的数据映射时: -
{"type":"date","format":"dateOptionalTime"}
数据存储正确但是当我尝试查询特定字段的日期值时,我得到解析异常。 使用的查询是: -
{"query":{"term":{"contentPublishedTime":1447764265}}}
提示错误: -
IllegalArgumentException[Invalid format: "1447764265" is malformed at "5"]
答案 0 :(得分:1)
这是因为您的日期格式。请在此处找到可用的内容:https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping-date-format.html
dateOptionalTime
具有以下格式:yyyy-MM-ddTHH:mm:ss.SSSZZ
。这看起来不像你传递的那样。
所以你需要做的是,要么以这种格式传递日期,要么有另一个字段,它会以格式存储你的数据,而你正在运行你的查询。它可能是epoch_millis
或epoch_second
答案 1 :(得分:1)
查看1.7文档。看起来似乎还没有支持epoch_ *:
https://www.elastic.co/guide/en/elasticsearch/reference/1.7/mapping-date-format.html