single-value 度量聚合就是计算从文档中 提取/获取(extracted)的值的数量。这些值可以从文档指定的 字段/属性(field)中提取,或者从给定的脚本中生成。特别的(Typically),该聚合器可以与其他single-value聚合结合使用。例如,当计算一个对计算得到的平均值的值的数量感兴趣的avg
查询时。
POST /sales/_search?size=0
{
"aggs" : {
"types_count" : { "value_count" : { "field" : "type" } }
}
}
响应(Response):
{
...
"aggregations": {
"types_count": {
"value": 7
}
}
}
聚合的名字(type_count 上面)也作为key使聚合结果可以从响应中重新获取。
计算脚本生成的值:
POST /sales/_search?size=0
{
"aggs" : {
"type_count" : {
"value_count" : {
"script" : {
"inline" : "doc['type'].value"
}
}
}
}
}
这将使用painless
脚本语言将 script 参数解释为内联脚本,没有脚本参数。使用如下的语法来使用文件脚本(file script):
POST /sales/_search?size=0
{
"aggs" : {
"types_count" : {
"value_count" : {
"script" : {
"file": "my_script",
"params" : {
"field" : "type"
}
}
}
}
}
}
提示:对于索引脚本需要将file参数替换为id参数。