Ich habe Abfrageergebnis, das einige Daten aggregieren, und seine Aggregation Schlüssel ist Nummer. Ich habe versucht, das Ergebnis der Aggregation nach Schlüssel zu sortieren. elasticsearch behandelter Schlüssel als String.Elasticsearch - Get Aggregation Key Sortierung als Nummer
Da die Nummer des aktuellen Ergebnisbereichs ziemlich groß ist, kann sie auf der Clientseite nicht geändert werden. Irgendeine Idee davon?
Hier ist meine Abfrage.
"aggregations" : {
"startcount" : {
"terms" : {
"script" : "round(doc['startat'].value/1000)",
"size" : 1000,
"order" : { "_term" : "asc" }
}
}
}
und aktuelle Ergebnis-Bucket.
"buckets": [
{
"key": "0",
"doc_count": 68
},
{
"key": "1",
"doc_count": 21
},
{
"key": "10",
"doc_count": 6
},
{
"key": "11",
"doc_count": 16
},
Es ist mein erwartetes Ergebnis.
"buckets": [
{
"key": "0",
"doc_count": 68
},
{
"key": "1",
"doc_count": 21
},
{
"key": "2", // not '10'
"doc_count": 6
},
{
"key": "3", // not '11'
"doc_count": 16
},
In Ihrem Mapping, welche Art ist das 'startat' Feld hat? – Val
Typ ist 'Datum' und Format ist 'strict_date_optional_time || epoch_millis'. –
Ich verwende besser date_histogram. Danke mir einen anderen Standpunkt zu geben. –