多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
# 值计数聚合(Value Count Aggregation) 原文链接: [https://www.elastic.co/guide/en/elasticsearch/reference/5.x/search-aggregations-metrics-valuecount-aggregation.html](https://www.elastic.co/guide/en/elasticsearch/reference/5.x/search-aggregations-metrics-valuecount-aggregation.html) 译文链接:[值计数聚合](http://www.apache.wiki/pages/viewpage.action?pageId=10030251) 贡献者:[昆仑子](/display/~liangchuankun),[ApacheCN](http://www.apache.wiki/display/~apachecn),[Apache中文网](http://www.apache.wiki/display/~apachechina) ## 值计数聚合(Value Count Aggregation) 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使聚合结果可以从响应中重新获取。 ## 脚本(Script) 计算脚本生成的值: ``` 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参数。