我有以下查询:
GET images/_search
{
"query":{
"bool":{
"must":[
{
"term":{
"appID.raw":"myApp"
}
}
]
}
},
"size":0,
"aggs":{
"perDeviceAggregation":{
"terms":{
"field":"deviceID",
"min_doc_count":50000
}
}
}
}这个查询返回一个“桶”数组,但我只想返回数组的长度,而不返回数组本身。
说明:这个查询的目的是计算有多少属于应用程序"myApp“的设备有超过50,000张图像。我不需要查询来返回这些设备,只需要知道有多少设备。
发布于 2016-10-17 01:59:24
聚合返回桶--字段中每个唯一术语的一个桶--其中每个桶包含包含该术语的文档的计数。
听起来,您想知道唯一术语的数量,而不是每个术语的文档计数。这个概念被称为cardinality。
有一个不同聚集来确定基数。您的查询如下所示:
GET images/_search
{
"query":{
"bool":{
"must":[
{
"term":{
"appID.raw":"myApp"
}
}
]
}
},
"size":0,
"aggs":{
"deviceIdCardinality":{
"cardinality":{
"field":"deviceID"
}
}
}
}注:基数计数是近似的。可以使用precision_threshold参数将精度配置为聚合。有关细节,请参阅文档。
https://stackoverflow.com/questions/40068088
复制相似问题