您可以定义一个
script_field包含小Groovy脚本的人工字段,它将为您完成工作。
因此,查询之后,您可以添加以下
script_fields部分:
{ "query" : { ... }, "script_fields" : { "sum" : { "script" : "_source.documentStats.findAll{ it.key =~ '_1_'}.collect{it.value}.sum()" } }}脚本所做的只是检索
documentStats名称匹配的所有字段
_1_并对其所有值求和,在这种情况下,您将得到4。
在尝试进行此操作之前,请确保启用动态脚本输入
elasticsearch.yml并重新启动ES节点。



