這是一種單值聚合,用於計算聚合文檔中提取值的數量。
其值既可通過文檔的特定字段提取,也可通過腳本來生成。
通常,此聚合器將與其他單值聚合一起使用。
例如,當計算平均值時,可能對計算平均值的值數量感興趣。
POST /sales/_search?size=0
{
"aggs" : {
"types_count" : { "value_count" : { "field" : "type" } }
}
}
響應:
{
...
"aggregations": {
"types_count": {
"value": 7
}
}
}
聚合名稱(即上面的types_count)可作為檢索聚合結果的key。
Script
也可統計腳本生成值的數量:
POST /sales/_search?size=0
{
"aggs" : {
"type_count" : {
"value_count" : {
"script" : {
"source" : "doc['type'].value"
}
}
}
}
}
這會使用painless腳本語言來將script參數解析為內聯腳本(不帶腳本參數).
可通過如下語法來使用存儲腳本:
POST /sales/_search?size=0
{
"aggs" : {
"types_count" : {
"value_count" : {
"script" : {
"id": "my_script",
"params" : {
"field" : "type"
}
}
}
}
}
}
全部指標聚合,請參考
單值指標聚合
多值指標聚合
地理位置相關聚合
可執行Map-Reduce計算的聚合
閱讀更多 Java源 的文章