这个问题是对this question的跟进。
如果我的文档如下所示:
{"documentid":1,
"documentStats":[ {"foo_1_1":1}, {"foo_2_1":5}, {"boo_1_1":3} ]
}
在script_field中用于返回每个文档中与特定模式匹配的所有documentStats之和的正确的常规脚本是什么(例如,包含
_1_
)
最佳答案
与上述问题类似,有一个单行代码对您的新结构执行相同的操作:
{
"query" : {
...
},
"script_fields" : {
"sum" : {
"script" : "_source.documentStats.findAll{ it.keySet()[0] =~'_1_' }.collect{it.values()}.flatten().sum()"
}
}
}
关于elasticsearch - 适用于Elasticsearch文档中字段总和的常规groovy脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37465248/