我有一个包含从主机A到主机B的ping数据的索引,我的数据如下:
{
"@version" => "1",
"@timestamp" => "2014-07-17T21:17:34.030Z",
"host" => "host_a",
"to_host" => "host_b",
"value" => "25.6",
"from_host" => "host_a",
"stat_type" => "ping"
}
目标是在移动窗口(例如最近一小时、最近一天等)中存储ping的值的90百分位数数据(上面的“value”)。我知道可以通过聚合实现这一点,但我的问题如下:ElasticSearch是否支持一种将聚合的输出(或查询结果)自动添加回索引的方法?我知道可以使用一些辅助应用程序将输出取出并调整字段后再将数据放回,但我想知道是否仅使用ES就能实现。使用一个相当的SQL示例,我将寻找类似于以下内容的解决方案:
create table agg
select id, count(*) as counts
from data
group by id;