我正在使用最新版本的Logstash,ElasticSearch和Kibana来解析/过滤/库存/查询和可视化日志。 我正在开展一系列活动。
此日志记录用户在不同的时间(按特定顺序)制作事件。
示例:
{
"name" : "user1",
"event" : "event1",
"timestamp" : 31/Dec/2014:23:50:00 +0000
}
{
"name" : "user1",
"event" : "event2",
"timestamp" : 31/Dec/2014:23:52:00 +0000
}
{
"name" : "user2",
"event" : "event1",
"timestamp" : 31/Dec/2014:23:52:00 +0000
}
{
"name" : "user2",
"event" : "event1",
"timestamp" : 31/Dec/2014:23:57:00 +0000
}
{
"name" : "user3",
"event" : "event3",
"timestamp" : 31/Dec/2014:23:50:00 +0000
}
我想计算每个可能的事件序列的唯一身份用户数。回答了这个问题:有多少用户做了一系列事件?
对于这个例子,作为查询的结果,我想要这样的东西:
"EVENTS" : [
{
"key" : "event1", "doc_count" : 2,
"CHILDREN " : [
{"key" : "event2", "doc_count" : 1}
{"key" : "event1", "doc_count" : 1}
]
},
{
"key" : "event3","doc_count" : 1
}
]
我们可以说: 有2个用户以“event1”开头,1个用“event2”继续,其他用“event1” 并且有1个用户以“event3”开头。
所以,我想以订单方式汇总用户的活动(从第一个开始,然后按照以下事件)。
我是新手,但我已经做了很多研究和大头脑风暴。
{"0":"event1", "1":"event2", "2":"event3"}
但我无法找到一种简单的方法来做到这一点。
任何想法/帮助?
谢谢!