Wildcard -Abfrage Elasticsearch

Wildcard -Abfrage Elasticsearch

Eine Wildcard bezieht sich auf einen speziellen Platzhaltercharakter, der verschiedene Iterationen basierend auf seinem Standort interpretiert und ersetzt wird. Die Verwendung von Wildcards ist bei der Durchführung von Suchvorgängen häufig, insbesondere wenn die Zielsuche nicht genau bekannt ist.

In Elasticsearch gibt es zwei Möglichkeiten, nach Elementen zu suchen, ohne die genaue Übereinstimmung zu kennen. Die erste besteht darin, die Unschärfe zu verwenden (überprüfen Sie unser Tutorial zum Thema), und das andere ist die Verwendung der Wildcard -Suche.

In diesem Tutorial werden Sie übermittelt, wie Sie Wildcard -Suchanfragen verwenden, um Elemente zu finden, ohne die genaue Übereinstimmung zu kennen.

Grundnutzung

Um zu veranschaulichen, wie die Elasticserch-Wildcard-Abfrage verwendet wird, werden wir den Kibana-Sample-E-Ecommerce-Datenindex verwenden.

Im Index haben wir Kundeninformationen. Angenommen, wir möchten die Ergebnisse erzielen, bei denen der Vorname des Kunden mit J*y übereinstimmt.

Wir können eine Abfrage wie gezeigt ausführen:

Get /kibana_sample_data_ecommerce /_search?hübsch

"Anfrage":
"Wildcard":
"customer_first_name":
"Wert": "J*n",
"Boost": 2



Wenn wir die Anfrage im Index ausführen, sollten wir die Dokumente erhalten, in denen der Customer_First_Name mit einem J beginnt und mit einem n endet.

Ein Beispiel -Screenshot der Antwort finden Sie unten:

Angenommen, wir kennen die genaue Anzahl der Zeichen im Namen. Zum Beispiel sind wir uns nicht sicher, ob es Jim oder Jimmy ist. Wir können die verwenden ? Charakter als:

Get /kibana_sample_data_ecommerce /_search?hübsch

"Anfrage":
"Wildcard":
"customer_first_name":
"Wert": "J?M*",
"Boost": 2



Die Beispielabfrage sollte die Dokumente zurückgeben, in denen der Vorname mit einem J beginnt, enthält ein einzelnes Zeichen, gefolgt von einem Buchstaben M und anderen Zeichen.

Unten finden Sie eine Beispielantwort:

Wildcard -Abfrageparameter

Sie können verschiedene Parameter angeben, um zu ändern, wie die Wildcard -Abfrage funktioniert. Solche Parameter umfassen:

  1. Feld - Das Feld, um nach einem passenden Muster zu suchen. Dieser Parameter ist nicht optional. In unserem obigen Beispiel ist das Feld auf customer_first_name eingestellt.
  2. Wert - Dies definiert das Wildcard -Muster, um zu suchen. Ein einzelnes Fragezeichen zeigt ein einzelnes Zeichen an, während a * Null oder mehr Zeichen, einschließlich eines leeren Zeichens, bedeutet. Der Wertparameter ist nicht optional.
  3. Schub - Der Boost -Parameter steigt oder verringert das Bewertungsgewicht der Suchabfrage. Dies ist ein optionaler Parameter und ist auf 1 eingestellt.0 standardmäßig. Um das Gewicht zu erhöhen, setzen Sie einen Wert höher als 1.0 und ein Wert weniger als 1.0, um die Punktzahl zu verringern.

Abschluss

In diesem Artikel haben wir erklärt, wie die Wildcard -Suchanfragen in Elasticsarch verwendet werden. Betrachten Sie die Dokumentation oder unsere Themen in Elasticsearch, um mehr zu erfahren.