2017-12-22 1 views
0

Ich habe Dokumente wie folgt aus:Elasticsearch in Gruppen nach Datumsbereich zählen

{ 
body: 'some text', 
read_date: '2017-12-22T10:19:40.223000' 
} 

Gibt es eine Möglichkeit Anzahl der Dokumente in letzten 10 Tage Gruppe von Datum veröffentlicht abfragen? Zum Beispiel:

2017-12-22, 150 
2017-12-21, 79 
2017-12-20, 111 
2017-12-19, 27 
2017-12-18, 100 
+0

Pro-Tipp: eine Reihe von Ihren Elasticsearch Fragen scheint hier nicht viel in der Feature Art der Forschung. Dies kann ein Hinweis sein, bei dem es den Helfern nichts ausmacht, freie Arbeit anzubieten, aber es ist erwähnenswert, dass die vorherige Anstrengung bei Stack Overflow als Ganzes einen langen Weg zurücklegt. Es wird von Lesern geschätzt und kann mehr Menschen dazu ermutigen, Ihnen zu helfen. – halfer

Antwort

1

Ja, können Sie leicht erreichen, dass mit Hilfe einer date_histogram Aggregation, wie folgt aus:

{ 
    "query": { 
    "range": { 
     "read_date": { 
     "gte": "now-10d" 
     } 
    } 
    }, 
    "aggs": { 
    "byday": { 
     "date_histogram": { 
     "field": "read_date", 
     "interval": "day" 
     } 
    } 
    } 
} 
+0

ein Fehler sagt: gescheitert Parsen Einstellung [DateHistogramAggregationBuilder.interval] mit Wert [Tag] als Zeitwert –

+0

Sorry, es war ein Leerzeichen drin, ich entfernte es, es sollte jetzt funktionieren – Val

+0

Ich kann nicht glauben, dass das wie war ein Stück Kuchen! –