所以场景是我有一个索引,其中包含我尝试实现的内容的值。
{"organisation":"TestOrg","deployment_name":"testDeployment","timestamp":1 499724427000,"running_instances":2}
这是如何存储弹性的。部署名称可以是任何内容,我尝试做的是计算任何部署的运行实例。
这是我到目前为止所尝试过的。
我的想法是,我会用条款和基数做一个日期直方图我想要的价值如下。
{
"aggs" : {
"vms_over_time" : {
"date_histogram" : {
"field" : "timestamp",
"interval" : "2h"
},
"aggs": {
"termsagg" : {
"termf":{ "field" : "deployment_name"}
},
"cardcheck":{
"cardinality" : {
"cardf" : { "field":"running_instances"}
}
}
}
}
}
}
答案 0 :(得分:0)
不确定我的要求是否正确。使用基数agg,您可以计算running_instances
中不同元素的数量,因此,如果您有1,2,3,4,1,2,3,4
,则响应将为4
。
您是否可能只想使用sum
聚合来计算正在运行的实例数?即使这不适用于您当前的数据模型。也许最小/最大和平均值可能有帮助吗?
答案 1 :(得分:0)
如果有人像我一样愚蠢,基本上算上我需要的字段并算出总金额。我需要使用日期直方图,该日期直方图具有条款的子聚合,其在running_instances上进行了总和的子聚合。
我遇到的问题是条款,因为我想要使用的字段是文本,所以我创建了一个关键字。