Was ist der Unterschied zwischen Match und Boolean in Elasticsearch?

Was Ist Der Unterschied Zwischen Match Und Boolean In Elasticsearch



Elasticsearch ist eine Suchmaschine, die Apache Lucene-Bibliotheken aus der Programmiersprache Java verwendet und von Millionen verwendet wird. Es ermöglicht dem Benutzer, Daten in seiner Analysedatenbank zu speichern und außerdem Indizes zu erstellen und Daten darin zu speichern. Der Benutzer kann auch verschiedene Abfragen anwenden, um Daten aus den Tabellen/Indizes abzurufen und dadurch nützliche Informationen zu erhalten.

In diesem Leitfaden wird der Unterschied zwischen Match- und Booleschen Abfragen in Elasticsearch erläutert.







Was ist der Match in Elasticsearch?

Die Match-Abfrage in Elasticsearch ist sehr einfach, da sie eine Volltextbedingung zum Abrufen von Daten aus der Datenbank enthält. Die Match-Abfrage übernimmt die Daten aus dem Index, wandelt sie in ein Array um und sucht dann daraus nach den gewünschten Schlüsselwörtern, was das Abrufen von Daten effizient macht.



Was ist der Boolesche Wert in Elasticsearch?

Boolesche Abfragen in Elasticsearch kombinieren mehrere Abfragen zu booleschen Anweisungen und zeigen das resultierende Dokument aus der Datenbank an. Die boolesche Abfrage verfügt über mehrere Klauseln, die wie folgt lauten:



    • muss
    • Filter
    • sollen
    • darf nicht

Was ist der Unterschied zwischen Match und Boolean in Elasticsearch?

Im folgenden Abschnitt wird der Unterschied zwischen Match und Boolescher Aggregation anhand von Beispielen erläutert. Gehen Sie wie folgt vor:





Stellen Sie eine Verbindung zu Elasticsearch und Kibana her

Um die Match- und Boolean-Abfragen in Elasticsearch zu verwenden, öffnen Sie das Terminal aus dem Bin-Verzeichnis von Elasticsearch und verwenden Sie den folgenden Befehl:



elastischesuche.bat



Gehen Sie anschließend vom lokalen System aus in das bin-Verzeichnis von Kibana, um das Terminal zu öffnen, und verwenden Sie den folgenden Befehl:

kibana.bat



Verwenden Sie den Localhost mit der Portnummer 9200 im Webbrowser, um sich bei Elasticsearch anzumelden:

lokaler Host: 9200



Verwenden Sie erneut „localhost“ im Webbrowser, jedoch mit der Portnummer 5601, um sich bei der Kibana-Benutzeroberfläche anzumelden:

lokaler Host: 5601



Gehen Sie hinein in das „ Entwicklungstools ” Konsole von der Kibana-Seite aus der Suchleiste:


Syntax der Match-Abfrage

Das Folgende ist die grundlegende Syntax der Match-Abfrage mit einer GET-Anfrage zum Abrufen von Daten:

ERHALTEN / _suchen
{
'Abfrage' : {
'übereinstimmen' : {
'Nachricht' : {
'Abfrage' : 'Das ist ein Test'
}
}
}
}


Der obige Ausschnitt legt Folgendes nahe:

    • Code beginnt mit a ERHALTEN Anfrage mit Such-API um Daten von der abzurufen Datenbank und der Benutzer kann eine hinzufügen Indexname nach dem Schlüsselwort GET.
    • Der Abfrage Schlüsselwort enthält die übereinstimmen Klausel, die das erhält Nachricht aus dem Index oder der Datenbank und dann die Daten wird in der erwähnt Abfrage Satz am Ende.

Verwenden Sie die Match-Abfrage

In diesem Abschnitt wird ein praktisches Beispiel für die Verwendung der Match-Abfrage erläutert und die Daten aus angezeigt Demo-Index Verwendung einer ERHALTEN Anfrage:

ERHALTEN / Demo-Index / _suchen



Verwenden Sie den folgenden Code, um die Match-Abfrage in Elasticsearch für „ Demo-Index ” um die Abfrage auf „ anzuwenden watson ' Name:

ERHALTEN / Demo-Index / _suchen
{
'Abfrage' : {
'übereinstimmen' : {
'Name' : {
'Abfrage' : „Watson“
}
}
}
}



Syntax der booleschen Abfrage

Das Folgende ist die grundlegende Syntax der booleschen Abfrage mit einer GET-Anfrage zum Abrufen von Daten aus der Datenbank:

ERHALTEN / _suchen
{
'Abfrage' : {
„bool“ : {
'Klausel' : {
'Feld' : 'Begriff'
}
}
}
}


Der obige Ausschnitt legt Folgendes nahe:

    • Der ERHALTEN Die Anfrage wird verwendet, um Daten aus dem Index abzurufen Such-API .
    • Der Abfrage Schlüsselwort enthält die bool für die Abfrage, die seine enthält Klausel um die Abfrage auf den Index oder die Datenbank anzuwenden und dann Daten wird abgerufen und auf dem Bildschirm angezeigt.

Verwenden Sie eine boolesche Abfrage

Die folgende Abfrage verwendet die boolesche Abfrage, um Daten aus der „ Demo-Index ' Verwendung der ' muss ”-Klausel und Kombination zweier Abfragen von „ Bezeichnung ' mit ' Name ”:

ERHALTEN / Demo-Index / _suchen
{
'Abfrage' : {
„bool“ : {
'muss' : [
{
'Begriff' : {
'Bezeichnung' : 'Alleskönner'
}
} ,
{
'Begriff' : {
'Name' : „Anderson“
}
}
]
}
}
}


Diese Kombination erstellt eine boolesche Anweisung, um die Abfrage auf den Index anzuwenden:


Hier geht es um die Unterschiede zwischen Match- und Booleschen Abfragen in Elasticsearch.

Abschluss

Match und Boolean sind zwei Abfragen, die in Elasticsearch verwendet werden, um Daten aus der Analysedatenbank oder aus dem vom Benutzer erstellten Index abzurufen. Die Match-Abfrage wandelt die Daten in Arrays um und ruft Daten aus dem Array ab, um den Prozess effizienter zu gestalten. Eine boolesche Abfrage wendet mehrere Abfragen an, um eine Anweisung zu erstellen, und wendet eine Abfrage auf den Index an, um Daten abzurufen. In diesem Leitfaden wurden die Unterschiede zwischen den Match- und Booleschen Abfragen in Elasticsearch erläutert, um Daten aus der Datenbank abzurufen.