我在ES中有一组文件,表示相对于时间的累积值。例如:
{
"timestamp": ...,
"raindrops_seen": 40,
...
}
我想创建一个查询,我可以在date_histogram聚合中获得指定时间间隔的平均速率(即雨滴)。我可以总结该领域的结果,但我不知道如何以秒为单位获得间隔。我希望有一种简单的方法可以在查询中执行此操作,而无需事先转换为秒。
{
"query": {
...
},
"aggregations": {
"by_hour": {
"date_histogram": {
"field": "timestamp",
"interval": "0.5h",
"extended_bounds": {
"min": "now/d-5h",
"max": "now/d-1h"
}
},
"aggregations": {
"sum_raindrops": {
"sum": {
"field": "raindrops_seen"
}
},
"avg_scripts": {
"bucket_script": {
"buckets_path": {
"var_sum_raindrops": "sum_raindrops"
},
"script": "var_sum_raindrops / (?)"
}
}
}
}
}
}
是否有一种直接的方法将“0.5h”或间隔中指定的任何内容转换为秒?日期直方图支持https://www.elastic.co/guide/en/elasticsearch/reference/2.4/common-options.html#time-units中指定的间隔,以及“周”和“日”等字符串。我正在使用ES 2.4。