ElasticSearch Datum Auswahl-Abfrage-aggregation mit Hilfe der Java-API

Hallo ich habe das Dokument für die cpu-Auslastung mit date_time Feld drin. Nun würde ich gerne erfahren, avg cpu-Auslastung für den Datumsbereich. Ich komme mit der folgenden Lösung. Bitte lassen Sie mich wissen, wenn es irgendwelche vorab-oder der bessere Ansatz ist, wie ich bin neu auf Elastic Search.

client.prepareSearch("myindex").
       setTypes("mytype").
       setQuery(
           QueryBuilders.filteredQuery(QueryBuilders.matchAllQuery(),
           FilterBuilders.andFilter(FilterBuilders.termFilter("server","x"),
           FilterBuilders.rangeFilter(date_time).from(fdate).to(tdate)))).get()

Nun obige Abfrage gibt mir wie erwartet Unterlagen die fällt innerhalb von/bis Datumsbereich. Nun, was ich versuche zu tun ist, ich finde alle einzigartigen Daten aus diesen Dokumenten mit SearchHitsund ich speichern Sie diese einzigartige Kombinationen von Daten in einer HashSet und jetzt für alle Elemente innerhalb dieses HashSet ich führen Sie die folgende Abfrage

client.prepareSearch("myindex").
       setTypes("mytype").
       setQuery(
           QueryBuilders.filteredQuery(QueryBuilders.matchAllQuery(),
           FilterBuilders.andFilter(FilterBuilders.termFilter("server","x"),
           FilterBuilders.termFilter(date_time),"dateinputfromloop"))).
       addAggregation(AggregationBuilders.avg("cpu_agg").field("cpu_time"))
       .get()

Nun obige Abfrage funktioniert einwandfrei und gibt die Ausgabe, die ich bekommen avg-CPU für jedes Datum-Zeit-Kombination. Ich Frage mich, ob diese besser ist-Ansatz führe ich vor der Abfrage in einer Schleife für alle Datum-Kombinationen. Bitte Anleitung danke im Voraus.

  • Also, wie ist dein date gespeichert ist? Ich meine, ist es mm/TT/JJ oder mit der Zeit, Wie Sie finden, wenn Datum einzigartig ist?
  • Hi danke für die Antwort. Datum ist gespeichert in ISO-Datumsformat. Kann es ähnliche/doppelte Datum pro Dokument, so bin ich das speichern in HashSet und dann, nachdem ich haben einzigartige date-Kombinationen, eins nach dem anderen ich bin brennen Abfrage zu bekommen avg-cpu für jedes Datum.
InformationsquelleAutor u449355 | 2014-08-10
Schreibe einen Kommentar