elasticsearch 弹性搜索获取桶计数,elasticsearch,elasticsearch" /> elasticsearch 弹性搜索获取桶计数,elasticsearch,elasticsearch" />

elasticsearch 弹性搜索获取桶计数

elasticsearch 弹性搜索获取桶计数,elasticsearch,elasticsearch,我有以下疑问: GET images/_search { "query":{ "bool":{ "must":[ { "term":{ "appID.raw":"myApp" } } ] } }, "size":0, "aggs":{ "perDeviceAg

我有以下疑问:

GET images/_search
{
   "query":{
      "bool":{
         "must":[
            {
               "term":{
                  "appID.raw":"myApp"
               }
            }
         ]
      }
   },
   "size":0,
   "aggs":{
      "perDeviceAggregation":{
         "terms":{
            "field":"deviceID",
            "min_doc_count":50000
         }
      }
   }
}
这个查询返回一个“bucket”数组,但我只想返回数组的长度,而不返回数组本身

说明:此查询的目的是统计属于应用程序“myApp”的设备中有多少具有超过50000张图像。我不需要查询来返回这些设备,只需要知道有多少个。

返回bucket——字段中每个唯一的术语对应一个bucket——其中每个bucket包含包含该术语的文档计数

听起来您想知道唯一术语的数量,而不是每个术语的文档计数。这个概念称为基数

有一个确定基数的方法。您的查询如下所示:

GET images/_search
{
   "query":{
      "bool":{
         "must":[
            {
               "term":{
                  "appID.raw":"myApp"
               }
            }
         ]
      }
   },
   "size":0,
   "aggs":{
      "deviceIdCardinality":{
         "cardinality":{
            "field":"deviceID"
         }
      }
   }
}

注意:基数计数是近似值。您可以使用聚合的
precision\u threshold
参数配置精度。有关详细信息,请参阅文档。

我不确定此查询是否是我所需要的,因为我想计算图像数量超过某个阈值的用户数。能否更新您的问题以询问您真正想要的内容?有样本数据吗?你期望结果是什么?在你的问题中,我没有在json中看到任何关于用户或图像的信息。也许我们可以在?