一尘不染

识别Kibana和ElasticSearch中的时间戳

elasticsearch

我是ElasticSearch和Kibana的新手,无法让Kibana识别我的时间戳。

我有一个JSON文件,其中有很多数据,我希望使用Curl插入Elasticsearch中。这是JSON条目之一的示例。

{"index":{"_id":"63"}}
{"account_number":63,"firstname":"Hughes","lastname":"Owens", "email":"hughesowens@valpreal.com", "_timestamp":"2013-07-05T08:49:30.123"}

我试图使用以下命令在Elasticsearch中创建索引:

curl -XPUT 'http://localhost:9200/test/'

然后,我尝试为时间戳设置适当的映射:

curl -XPUT 'http://localhost:9200/test/container/_mapping' -d'
{
"container" : {
"_timestamp" : {
"_timestamp" : {"enabled: true, "type":"date", "format": "date_hour_minute_second_fraction", "store":true}
}
}
}'

//时间戳记格式,网址http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/mapping-
date-
format.html

然后,我尝试批量插入数据:

curl -XPOST 'localhost:9200/test/container/_bulk?pretty' --data-binary @myfile.json

所有这些命令都可以正常运行,但是当在Kibana中查看数据时,不会识别_timestamp字段。通过时间戳进行排序不起作用,并且尝试使用不同时间段过滤数据也不起作用。关于为什么出现此问题的任何想法都适用。


阅读 323

收藏
2020-06-22

共1个答案

一尘不染

设法解决了问题。因此,对于任何其他有此问题的人:

我们保存日期的格式不正确,必须为:

"_timestamp":"2013-07-05 08:49:30.123"

那么我们的映射需要是:

curl -XPUT 'http://localhost:9200/test/container/_mapping' -d'
{
"container" : {
"_timestamp" : {"enabled": true, "type":"date", "format": "yyyy-MM-dd HH:mm:ss.SSS", "store":true, "path" : "_timestamp"}
}
}'

希望这对某人有帮助。

2020-06-22