我想收集字段名称的统计数据" CpuEff"对于每个唯一字段" DESIRED_CMS_Dataset"。所以我写了这个,
curl -XPOST 'http://localhost:9200/cms-2016-03-30/job/_search?pretty=true' -D'
{
"aggregations" : {
"data" : {
"terms": {
"field": "DESIRED_CMSDataset"
"order": {
"cnt" : "desc"
}
},
"aggregations" : {
"data_stats" : {
"extended_stats" : { "field" : "CpuEff" }
}
}
}
}
}'
这给了我一个既不给我统计数据也不给我一个字段DESIRED_CMSDataset。相反,我得到了一堆
{
"_index" : "cms-2016-03-30",
"_type" : "job",
"_id" : "crab3-4@vocms066.cern.ch#6248657.0#1459314096",
"_score" : 1.0,
"_source" : {
"CoreHr" : 1.1066666666666667,
"DataCollectionDate" : 1459318128,
"JobStartDate" : 1459314144,
"Requirements" : false,
...
所以我想修复我的查询,以便我只看到DESIRED_CMSDataset以及this说我应该得到的结果(即avg,sum,...)DESIRED_CMSDataset的每个唯一值。
答案 0 :(得分:3)
默认情况下,elasticsearch会在搜索请求中返回20个文档,您可以添加" size" :0 仅输出聚合
curl -XPOST 'http://localhost:9200/cms-2016-03-30/job/_search?pretty=true' -D'
{
"size": 0,
"aggs" : {
"data" : {
"terms": {
"field": "DESIRED_CMSDataset"
"size": 0,
"order": {
"_count" : "desc"
}
},
"aggs" : {
"data_stats" : {
"extended_stats" : { "field" : "CpuEff" }
}
}
}
}
}'