我想通过在Elasticsearch中检索每组的最大id后总结duration字段来创建一个可视化工具。举例来说:
数据为:
| ID|工作流|Sid|持续时间|
| --|--|--|--|
| 1 |一|X1| 1m|
| 1 |一|X2| 2m|
| 2 |一|X1| 2m|
| 2 |一|X2| 3M|
| 1 |B| Y1| 1m|
| 1 |B| Y2| 2m|
| 2 |B| Y1| 2m|
| 2 |B| Y2| 3M|
| 3 |B| Y1| 4m|
| 3 |B| Y2| 2m|
给定下表,预期返回的数据如下所示,这是每个工作流的最大id,并总结了持续时间。
| ID|工作流|总|
| --|--|--|
| 2 |一|5m|
| 3 |B| 6m|
我是Elasticsearch query和Kibana的新手。如果你能提供一个如何解决我的问题陈述的指针,我将不胜感激。
{
"size": 0,
"aggs": {
"my-bucket": {
"terms": {
"field": "workflow"
},
"aggs": {
"max_id": {
"max": {
"field": "id"
}
}
}
}
}
}
我有上面的搜索查询与预期的工作流桶和最大ID #。如何使用max id #来检索SID并计算持续时间。
2条答案
按热度按时间uxh89sit1#
与其查找max_id,不如按id对所有bucket进行排序,只显示最上面的一个:
vnjpjtjt2#
这是我从Elastic Stack社区学到的另一种方法。