我有一个问题语句,其中我有一个居的车辆的数据,具有以毫秒为单位和速度在秒的字段的时间,时间。现在我想获取数据,并绘制出速度VS在前端时间图。但问题是有大量的数据点作为1秒的有30-40毫秒条目和相应的速度也是如此。现在,以减少我想要得到的速度平均一秒钟的数据点,让我只有一个数据点为1秒。我怎样才能做到这一点的居。
考虑到你的映射看起来像 -
{
"properties": {
"ms": {
"type": "integer"
},
"seconds": {
"type": "integer"
},
"velocity": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": "256"
}
}
}
}
}
下面的嵌套的聚集将工作 - 你会得到你的数据点在现场“averageMsInSecond”。
{
"size": 0,
"aggs": {
"seconds_buckets": {
"terms": {
"field": "seconds"
},
"aggs": {
"averageMsInSecond": {
"avg": {
"field": "ms"
}
}
}
}
}
}
为了得到平均值为第二,你需要在seconds_buckets AGGS读取钥匙并用它与averageMsInSecond一起。
希望能帮助到你。