elasticsearch 如何获得kibana 4.x中字段的总值
我需要使用脚本字段获取Kibana中字段的总值 e、 g)如果id字段具有类似于1、2、3、4、5的值 我希望将id的所有值相加,我希望输出为15 在得到每个字段的总数后,我需要实现以下公式elasticsearch 如何获得kibana 4.x中字段的总值,elasticsearch,kibana,kibana-4,elasticsearch,Kibana,Kibana 4,我需要使用脚本字段获取Kibana中字段的总值 e、 g)如果id字段具有类似于1、2、3、4、5的值 我希望将id的所有值相加,我希望输出为15 在得到每个字段的总数后,我需要实现以下公式 lifetime=a-b-c-(d-e-f)*g 这里a、b、c、d、e、f、g都是每个字段值的总和 欲了解更多信息,请参阅我提出的内容。您可以在脚本字段中执行类似操作: doc['id'].value 因此,您可以使用sum聚合来获取Kibana中的总值 这可能很方便 编辑 如果您试图使用Elasti
lifetime=a-b-c-(d-e-f)*g
这里a、b、c、d、e、f、g都是每个字段值的总和
欲了解更多信息,请参阅我提出的内容。您可以在
脚本字段中执行类似操作:
doc['id'].value
因此,您可以使用sum
聚合来获取Kibana
中的总值
这可能很方便
编辑
如果您试图使用Elasticsearch
执行此操作,您可以在请求正文中执行以下操作:
"aggs":{
"total":{
"sum":{
"script":"doc['id'].value"
}
}
}
你可以继续这样做,但是如果你使用的是无痛的lang
,一定要把它包含在lang
中 您当然可以使用总和聚合来获得id的总和,但为了进一步使公式相等,您可以查看一下如何使用总和值进行进一步计算
看一看,有了正确的桶路径和聚合器,您就可以实现您的解决方案
样本文件
{
"a":100,
"b":200,
"c":400,
"d":600
}
质疑
{
"size": 0,
"aggs": {
"result": {
"terms": {"script":"'nice to have it here'"},
"aggs": {
"suma": {
"sum": {
"field": "a"
}
},
"sumb": {
"sum": {
"field": "b"
}
},
"sumc": {
"sum": {
"field": "c"
}
},
"equation": {
"bucket_script": {
"buckets_path": {
"suma": "suma",
"sumb": "sumb",
"sumc" : "sumc"
},
"script": "suma + sumb + 2*sumc"
}
}
}
}
}
}
现在,您可以在每个总和聚合器上添加术语过滤器,以过滤每个总和聚合器的总和。谢谢!你能再解释一下吗<代码>文档['id']。值
在kibana中,它返回每行的记录,而不是id字段的总和。我应该在哪里应用sum aggregation elasticsearch或kibana?也许这真的很傻,但我不知道:-)请回顾我更新的问题。你可以从ES
方面来做,或者如果它使用Kibana
,你可以在图表中使用sum
聚合。我想你还没有完全理解我的问题!kibana图中的单字段和聚合对我来说不是问题。你能看看我的配方吗?e、 g)如果我在kibana图中有七个总和聚合字段,那么现在如何将上述公式应用于这七个字段?哦!这真的很难理解。如果你不介意的话,你能用简单的例子来解释我的公式吗?不可能将elasticsearch聚合转换成kibana图形视图吗?当然,好的,我现在明白你想要达到什么,所以a,b,c,d。。。是为不同文档集计算的id的总和,然后您希望将它们合并到公式中。给我一些时间,我会尝试给你一个较小的实现也应该感谢这个家伙,最后一个评论的问题的把戏-