我尝试提取每个event_type
的事件发生的天数和最后一次发生的时间。目前我编写了以下查询:
{
"size": 0,
"query": { ... },
"_source": false,
"aggregations": {
"events": {
"terms": { "field": "event_type" },
"aggs": {
"event_timestamp": {
"date_histogram": {
"field": "@timestamp",
"calendar_interval": "day",
"min_doc_count": 1,
"order": { "_key": "desc" }
}
}
}
}
}
}
字符串
提取要进一步转换的数据。在我的例子中,我只需要,对于每个event_type
,第一个event_timestamp
桶的键和event_timestamp
桶的数量。这可以在提取后的第二步中轻松完成,但让Elastic来做会更干净。
Max bucket(或度量)聚合似乎没有帮助,因为我在date_histogram
聚合中没有看到合适的buckets_path
。
1条答案
按热度按时间3lxsmp7m1#
良好的开端!!
下面是一个查询,它返回每个
event_type
的最新时间戳以及每个event_type
的每日桶数(为此,您可以使用bucket_script
pipeline aggregation,它只返回date_histogram
聚合中的桶数)。还要注意的是,
filter_path
查询字符串参数允许你只返回对你重要的内容,也就是说,你可以去掉你不感兴趣的日期直方图:字符串
对于每个事件类型,您将获得类似于以下内容的内容:
型