Ich möchte Statistiken über einen Feldnamen "CpuEff" für jedes eindeutige Feld "DESIRED_CMS_Dataset" sammeln. Also ich dies schrieb,ElasticSearch Aggregation für eindeutigen Feld Wert
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" }
}
}
}
}
}'
Das gibt eine weder gibt mir die Statistik noch gibt mir nur das Feld DESIRED_CMSDataset. Stattdessen erhalte ich eine Reihe von
{
"_index" : "cms-2016-03-30",
"_type" : "job",
"_id" : "[email protected]#6248657.0#1459314096",
"_score" : 1.0,
"_source" : {
"CoreHr" : 1.1066666666666667,
"DataCollectionDate" : 1459318128,
"JobStartDate" : 1459314144,
"Requirements" : false,
...
So würde Ich mag meine Abfrage beheben, so dass ich nur DESIRED_CMSDataset und die Ergebnisse sehen, dass this sagt soll ich (dh avg, sum, ...) für jeden eindeutigen Wert erhalten von DESIRED_CMSDataset.
Perfekt außer ich nur 10 Aggregationen. Ich möchte alle von ihnen für jedes mögliche einzigartige DESIRED_CMSDataset. Das zu lösen wird mein Problem vollständig lösen. Danke –
Sie können * Größe * Feld in * Begriffe * Aggregation verwenden. Wenn der Wert 0 ist, wird die Größe auf Integer.MAX_VALUE gesetzt. Ich habe die Antwort aktualisiert. – pkhlop
Wow! Vielen Dank. Sie sind die erste Person, die eine meiner ElasticSearch-Fragen zu StackOverflow beantwortet hat. Die meisten Leute verweisen nur auf eine Dokumentation, die mich nur mehr verwirrt. –