我在ES中有数据,例如:
@timestamp --> Timestamp field
record.hostIP
record.destIP
record.port
record.application
etc...
我想在js中的图形上绘制它,因此需要时间在X轴上并需要记录数。<>在Y轴上。
以下查询使我的文档按时间戳与计数(所有文档的总数)排序。 如果我需要最近1个小时内的record.application计数,从最早到最晚的时间戳排序,该怎么办?
GET _search
{
"size": "0",
"aggs": {
"oneHourTimeRange": {
"filter": {
"range": {
"@timestamp": {
"gte": "now-60m",
"lte": "now"
}
}
},
"aggs": {
"totalTraffic": {
"terms": {
"field": "@timestamp",
"size": 500,
"order": { "_key": "asc" }
}
}
}
}
}
}
谢谢。
答案 0 :(得分:0)
您是指record.application的唯一计数吗?您可能需要基数聚合。对于聚合,您将基数聚合嵌套在日期直方图中,它应该可以为您提供所需的信息。您应该将过滤条件移到外部,而不是聚合的一部分。