Neu bei Elasticsearch? Nehmen Sie an unserem Webinar „Erste Schritte mit Elasticsearch“ teil. Sie können jetzt auch eine kostenlose Cloud-Testversion starten oder Elastic auf Ihrem Rechner testen.
Die Suche über mehrere Felder hinweg in Elasticsearch ist in vielen Anwendungen eine gängige Anforderung. In diesem Artikel werden wir fortgeschrittene Techniken zur Durchführung von Suchen anhand zweier Felder untersuchen, darunter Mehrfachübereinstimmungsabfragen, Boolesche Abfragen und die Feld-Boosting-Methode zur Abfragezeit. Diese Techniken helfen Ihnen dabei, genauere und relevantere Suchergebnisse für Ihre Nutzer zu erstellen.
Erweiterte Techniken zur Durchführung von Suchen in zwei Feldern
1. Mehrfachabfrage
Eine Mehrfachabfrage ermöglicht es Ihnen, in mehreren Feldern nach einer einzelnen Suchzeichenfolge zu suchen. Dies ist nützlich, wenn Sie Dokumente finden möchten, die die angegebene Suchanfrage in einem der beiden Felder enthalten. Hier ist ein Beispiel für eine Mehrfachabfrage, die nach dem Begriff „Beispiel“ in den Feldern „Titel“ oder „Beschreibung“ sucht:
2. Bool-Abfrage
Eine Bool-Abfrage ermöglicht es Ihnen, mehrere Abfragen mithilfe boolescher Logik zu kombinieren. Sie können die „should“-Klausel verwenden, um nach Dokumenten zu suchen, die der Suchanfrage in einem der beiden Felder entsprechen. Hier ist ein Beispiel für eine Boolesche Abfrage, die nach dem Begriff „Beispiel“ in den Feldern „Titel“ und „Beschreibung“ sucht:
3. Feld-Boosting zur Abfragezeit
Manchmal möchten Sie bei der Suche einem Feld mehr Gewicht beimessen als einem anderen. Dies lässt sich erreichen, indem man dem Feld zur Abfragezeit einen Boost-Faktor zuweist. Ein höherer Boost-Wert gewichtet das Feld stärker, wodurch es mit größerer Wahrscheinlichkeit das endgültige Suchergebnis beeinflusst. Hier ist ein Beispiel für eine Mehrfachabfrage mit einem Boost-Faktor für das Feld „Titel“:
In diesem Beispiel hat das Feld „Titel“ einen Boost-Faktor von 3, wodurch es bei der Bestimmung des Such-Scores dreimal wichtiger ist als das Feld „Beschreibung“.
4. Kombinieren von Abfragen mit unterschiedlichen Gewichtungsfaktoren
Sie können auch mehrere Abfragen mit unterschiedlichen Gewichtungsfaktoren mithilfe einer booleschen Abfrage kombinieren. Dies ermöglicht es Ihnen, die Wichtigkeit jedes Feldes in den Suchergebnissen feinabzustimmen. Hier ist ein Beispiel für eine Boolesche Abfrage mit unterschiedlichen Gewichtungsfaktoren für die Felder „Titel“ und „Beschreibung“:
In diesem Beispiel hat das Feld „Titel“ einen Boost-Faktor von 3, während das Feld „Beschreibung“ einen Boost-Faktor von 1 hat.
Fazit
Die Suche anhand zweier Felder in Elasticsearch kann mithilfe fortgeschrittener Techniken wie Multi-Match-Abfragen, Booleschen Abfragen und Query-Time Field Boosting erreicht werden. Durch die Kombination dieser Techniken können Sie genauere und relevantere Suchergebnisse für Ihre Nutzer erstellen. Experimentieren Sie mit verschiedenen Abfragekombinationen und Gewichtungsfaktoren, um die optimale Suchkonfiguration für Ihren spezifischen Anwendungsfall zu finden.




