In diesem Leitfaden lernen Sie, einen Bereich in Ihrer Suchabfrage unter Verwendung von booleschen Ausdrücken wie größer als, weniger als und mehr zu definieren.
Elasticsearch Range Abfrage: Grundnutzung
Um einen bestimmten Bereich in einer Suchabfrage anzugeben, können wir den Bereich des Bereichs verwenden, gefolgt vom Feld und den Bedingungen zur Überprüfung.
Nehmen Sie die folgende Abfrage, die die Dokumente zurückgibt, in denen das Feld avgTicketprice größer als 600 und weniger als 800 ist
Get /kibana_sample_data_flights /_searchUnten finden Sie die Beispiele der Rückgabeergebnisse:
Die Abfrage verstehen
Im obigen Beispiel setzen wir den Bereich in der Abfrage fest. Das Schlüsselwort des Bereichs erfordert den Feldparameter, der das Feld für die Suche definiert.
Anschließend definieren wir den Parameter für das Feld. Dies sind boolesche Bedingungen wie:
Abfragen eines Zeitbereichs
Wenn das Feld, das Sie suchen möchten, vom Datum vom Typ ist, können Sie die oben genannten Bedingungen verwenden, gefolgt von der in der folgenden Ressource definierten Datum Mathematik:
Elasticsearch Datum Mathematikdocs
Betrachten Sie den folgenden Wert, der den Parameter Time_zone verwendet, um die Zeit in den UTC -Wert zu konvertieren und nach einem Bereich zu suchen.
Get /kibana_sample_data_flights /_searchDie obige Abfrage sollte die Dokumente zurückgeben, in denen der Zeitstempel um 05:22:14 größer als 2021-10-14 ist.
Hier sind Beispielergebnisse:
NOTIZ: time_zone wirkt sich nicht auf den jetzt Parameter aus.
Größer als
Sie müssen nicht die Bedingungen kombinieren, wie beispielsweise größer als und weniger als; Sie können einen einzelnen Bereich verwenden, wie im folgenden Beispiel gezeigt:
Get /kibana_sample_data_flights /_searchDas obige Beispiel gibt die Dokumente zurück, in denen die Distanzile größer als 10000 sind.
Die Antwort ist unten:
Boolean
Um einen Bereich zu überprüfen, in dem der Feldtyp ein boolescher Wert ist, können Sie LTE oder GTE verwenden. Um beispielsweise die Dokumente für stornierte Flüge zu erhalten, können wir eine Anfrage als:
Get /kibana_sample_data_flights /_searchIm obigen Beispiel verabschieden wir uns mit dem Bereich, um als Boolescher wahr zu überprüfen.
Die Ergebnisse sind wie gezeigt:
Schließen
In diesem Handbuch haben Sie gelernt, wie man die Range -Abfrage in Elasticsearch verwendet, um nach Ergebnissen zu filtern, die einem bestimmten Bereich entsprechen.