我正在努力如何在Elasticsearch中构建数据。我每小时只有一个号码。
所以会是这样:
2018-01-01T03:00:00 - 280
也就是说,凌晨3点有280位访客。我对如何将所有这些都投入Elasticsearch感到困惑。应该全部放在一个索引中,一个文档作为一个长文件吗?
如果有帮助的话,这将被放在Kibana中的图形上。
答案 0 :(得分:2)
您可以创建包含两个字段的单个索引:date
和count
。
令文档类型为_doc
。
要创建索引并将文档放入_id
为1的文档中:
PUT test/_doc/1
{
"date":"2018-01-01T03:00:00",
"count": 280
}
您可以重复此操作以放置所有要添加的数据。 例如,如果数据是这样的:
[
{
"_index" : "test",
"_type" : "_doc",
"_id" : "1",
"_score" : 1.0,
"_source" : {
"date" : "2018-01-01T03:00:00",
"count" : 280
}
},
{
"_index" : "test",
"_type" : "_doc",
"_id" : "2",
"_score" : 1.0,
"_source" : {
"date" : "2018-02-01T03:00:00",
"count" : 1312
}
},
{
"_index" : "test",
"_type" : "_doc",
"_id" : "3",
"_score" : 1.0,
"_source" : {
"date" : "2018-03-01T03:00:00",
"count" : 124
}
},
{
"_index" : "test",
"_type" : "_doc",
"_id" : "5",
"_score" : 1.0,
"_source" : {
"date" : "2018-05-01T03:00:00",
"count" : 34
}
},
{
"_index" : "test",
"_type" : "_doc",
"_id" : "7",
"_score" : 1.0,
"_source" : {
"date" : "2018-01-01T03:00:00",
"count" : 280
}
}
]
然后您可以将每月计数可视化为例如:
将存储桶添加为:
PS:默认情况下,elasticsearch启用了date_detection
,因此您的日期字符串将自动保留为日期类型。
希望这会有所帮助。