Gruppe von und Filter max (Datum) zwischen zwei Daten in der elastischen Suche

Derzeit können wir gruppieren nach customer_id in der elastischen Suche.

Im Folgenden ist die Dokumentenstruktur

{ "order_id":"6", "customer_id":"1", "customer_name":"shailendra", "mailing_addres":"shailendra@gmail.com", "actual_order_date":"2000-04-30", "is_veg":"0", "total_amount":"2499", "store_id":"276", "city_id":"12", "payment_mode":"cod", "is_elite":"0", "product":["1","2"], "coupon_id":"", "client_source":"1", "vendor_id":"", "vendor_name: "", "brand_id":"", "third_party_source":"" } 

Jetzt müssen wir die Gruppe filtern, um die Dokumente zu finden

  1. Letztes bestelltes Datum zwischen zwei Daten
  2. Erster Auftragsdatum zwischen zwei Daten

Wie können wir das erreichen?

One Solution collect form web for “Gruppe von und Filter max (Datum) zwischen zwei Daten in der elastischen Suche”

Sie können mit der Abfrage unten versuchen. Innerhalb jedes Kunden Eimers, wir weiter filtern alle Dokumente zwischen zwei Daten (hier habe ich den Monat August 2016 genommen) und dann führen wir eine stats Aggregation auf dem Datum Feld. Der min ist das erste Auftragsdatum und der Maximalwert ist das letzte Bestelldatum.

 { "aggs": { "customer_ids": { "terms": { "field": "customer_id" }, "aggs": { "date_filter": { "filter": { "range": { "actual_order_date": { "gt": "2016-08-01T00:00:00.000Z", "lt": "2016-09-01T00:00:00.000Z" } } }, "aggs": { "min_max": { "stats": { "field": "actual_order_date" } } } } } } } } 
  • Wie mache ich ein gültiges Format JSON in Python?
  • Elasticsearch Bulk-Index in Chunks mit PyEs
  • Wie kann ich den Dateisystem-Cache in Java oder Python nutzen?
  • Kein Handler für Typ [Text] deklariert auf Feld [Titel] (python elasticsearch
  • Wie bekomme ich "Daten verarbeitet" in Elastiksuche
  • Elasticsearch "more_like_this" Abfrage spezifisch für Felder
  • Python ist die beste Programmiersprache der Welt.