Einführung der Elasticsearch-Abfrageregeln-Benutzeroberfläche in Kibana

Erfahren Sie, wie Sie mit der Elasticsearch Query Rules UI Dokumente mithilfe anpassbarer Regelsätze in Kibana zu Suchanfragen hinzufügen oder ausschließen können, ohne das organische Ranking zu beeinträchtigen.

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 Aufgabe einer Suchmaschine besteht darin, relevante Ergebnisse zu liefern. Es gibt jedoch geschäftliche Anforderungen, die darüber hinausgehen – wie die Hervorhebung von Sonderangeboten, die Priorisierung saisonaler Produkte oder die Präsentation gesponserter Artikel – und Entwickler können dies nicht immer in der Suchanfrage umsetzen.

Darüber hinaus sind diese Anwendungsfälle in der Regel zeitkritisch, und das Durchlaufen der typischen Entwicklungsphasen (Erstellen eines Codezweigs und anschließendes Warten auf eine neue Version) ist ein zeitaufwändiger Prozess.

Was wäre, wenn wir diesen gesamten Prozess mit einem einzigen API-Aufruf oder, noch besser, mit nur wenigen Klicks in Kibana erledigen könnten?

Benutzeroberfläche für Abfrageregeln

Elasticsearch 8.10 führte Abfrageregeln und Regelabrufer ein. Hierbei handelt es sich um Tools, die entwickelt wurden, um festgelegte Ergebnisse in die Suchanfragen einzufügen, ohne die Rangfolge der organischen Ergebnisse gemäß den Regeln zu beeinträchtigen. Sie fügen den Ergebnissen lediglich auf deklarative und einfache Weise Geschäftslogik hinzu.

Einige gängige Anwendungsfälle für Abfrageregeln sind:

  • Hervorhebung von beworbenen Angeboten oder Verkäufen: Anzeige von reduzierten oder gesponserten Artikeln ganz oben.
  • Ausschluss nach Kontext oder Standort: Ausblenden bestimmter Elemente, wenn deren Anzeige aufgrund lokaler Vorschriften nicht zulässig ist.
  • Priorisierung wichtiger Ergebnisse: Sicherstellen, dass beliebte oder feste Suchanfragen unabhängig vom organischen Ranking immer ganz oben stehen.

Um auf die Benutzeroberfläche zuzugreifen und mit diesen Tools zu interagieren, müssen Sie im Kibana-Seitenmenü auf „Abfrageregeln“ unter „Relevanz“ klicken:

Sobald das Menü mit den Abfrageregeln erscheint, klicken Sie auf „Erstes Regelset erstellen“:

Als Nächstes müssen Sie Ihrem Regelsatz einen Namen geben.

Das Formular zur Definition jeder Regel besteht aus drei Hauptkomponenten:

  • Kriterien: Die Bedingungen, die erfüllt sein müssen, damit die Regel Anwendung findet. Zum Beispiel: „wenn das Feld query_string den Wert Christmas enthält“ oder „wenn das Feld country CO ist“.
  • Aktion: Das soll passieren, wenn die Bedingungen erfüllt sind. Es kann angeheftet (ein Dokument wird an der Spitze der Suchergebnisse fixiert) oder ausgeschlossen (ein Dokument wird ausgeblendet) werden.
  • Metadaten: Dies sind die Felder, die bei der Ausführung der Abfrage mitgeführt werden. Sie können sowohl Benutzerinformationen (wie Standort oder Sprache) als auch Suchdaten (Query-String) enthalten. Dies sind die Werte, anhand derer die Kriterien entscheiden, ob eine Regel angewendet werden soll oder nicht.

Stellen wir uns vor, wir hätten eine E-Commerce-Website mit verschiedenen Artikeln. Bei der Überprüfung der Kennzahlen stellen wir fest, dass einer der meistverkauften Artikel in der Kategorie Konsolen der „DualShock 4 Wireless Controller“ ist, insbesondere wenn Nutzer nach den Schlüsselwörtern „PS4“ oder „PlayStation 4“ suchen. Deshalb haben wir beschlossen, dieses Produkt ganz oben in den Suchergebnissen anzuzeigen, wenn ein Nutzer nach diesen Schlüsselwörtern sucht.

Als Erstes indizieren wir die Dokumente für jeden Artikel mithilfe einer Bulk-API-Anfrage:

Wenn wir nicht in die Abfrage eingreifen, erscheint der Eintrag normalerweise an vierter Stelle. Hier die Anfrage:

Und hier sind die Ergebnisse.

Lasst uns eine Abfrageregel erstellen, um dies zu ändern. Als Erstes fügen wir es dem Regelwerk folgendermaßen hinzu:

Oder eine entsprechende API-Anfrage:

Um das Regelset in unserer Abfrage verwenden zu können, müssen wir einen Abfrageregeltyp verwenden. Diese Art von Anfrage besteht aus zwei Hauptteilen:

  • match_criteria: Dies sind die Metadaten, die zum Vergleich mit der Benutzeranfrage verwendet werden. In diesem Beispiel wird das Regelset aktiviert, wenn das Feld query_string den Wert „PlayStation 4“ hat.
  • Suchanfrage: Die eigentliche Suchanfrage, die verwendet wird, um die organischen Suchergebnisse zu finden.

Auf diese Weise führen Sie zuerst die organische Abfrage aus, und anschließend wendet Elasticsearch die Regeln aus Ihrem Regelsatz an:

Beispiel: benutzerbasierte Metadaten

Eine weitere interessante Anwendung von Abfrageregeln besteht darin, Metadaten zu verwenden, um bestimmte Dokumente basierend auf Kontextinformationen des Benutzers oder der Webseite anzuzeigen.

Nehmen wir beispielsweise an, wir möchten Artikel oder personalisierte Angebote basierend auf dem Loyalitätsgrad eines Nutzers hervorheben, der als numerischer Wert dargestellt wird.

Dies erreichen wir, indem wir diese Metadaten direkt in die Abfrage einbinden, sodass die Regeln aktiviert werden, wenn der genannte Wert bestimmte Kriterien erfüllt.

Zunächst indexieren wir ein Dokument, das nur Nutzer mit einer hohen Loyalitätsstufe sehen können:

Jetzt erstellen wir eine neue Regel innerhalb desselben Regelsatzes, sodass der Artikel ganz oben in den Ergebnissen erscheint, wenn der Loyalitätswert (loyality_level) gleich oder höher als 80 ist.

Speichern Sie die Regel und das Regelwerk.

Hier ist die entsprechende REST-Anfrage:

Beim Ausführen einer Abfrage muss nun der neue Parameter loyalty_level in die Metadaten aufgenommen werden. Wenn die Bedingung in der Regel erfüllt ist, erscheint das neue Dokument ganz oben in den Suchergebnissen.

Beispiel: Senden einer Anfrage, bei der der Loyalitätsgrad 80 beträgt:

Das Treuezertifikat wird oben auf den Ergebnissen angezeigt:

Im folgenden Fall ist die Regel aufgrund des Loyalitätslevels von 70 nicht erfüllt, und der Artikel sollte nicht oben erscheinen:

Hier die Ergebnisse:

Beispiel: sofortiger Ausschluss

Nehmen wir an, unser DualShock 4 Wireless-Controller (ID 2) ist vorübergehend nicht verfügbar und kann nicht verkauft werden. Anstatt das Dokument manuell zu löschen oder auf die Verarbeitung der Daten zu warten, beschließt das Business-Team, es in der Zwischenzeit aus den Suchergebnissen zu entfernen.

Wir werden ein ähnliches Verfahren anwenden wie das, das wir gerade bei den beliebten Artikeln angewendet haben, aber diesmal wählen wir anstelle von "Angeheftet" die Option "Ausschließen". Diese Regel funktioniert wie eine Art Blacklist. Ändern Sie das Kriterium auf „Immer“ , damit der Ausschluss bei jeder Ausführung der Abfrage funktioniert.

Die Regel sollte folgendermaßen aussehen:

Speichern Sie die Regel und das Regelset, um die Änderungen anzuwenden. Hier ist die entsprechende REST-Anfrage:

Wenn wir die Abfrage nun erneut ausführen, werden Sie feststellen, dass das Element nicht mehr in den Ergebnissen enthalten ist, obwohl die vorherige Regel vorsah, es zu fixieren. Dies liegt daran, dass Ausschlüsse Vorrang vor dem Anheften von Ergebnissen haben.

Fazit

Mit Abfrageregeln lässt sich die Relevanz ganz einfach und ohne Codeänderungen anpassen. Die neue Kibana -Benutzeroberfläche ermöglicht Ihnen Diese Änderungen lassen sich in Sekundenschnelle vornehmen, wodurch Sie und Ihr Team mehr Kontrolle über Ihre Suchergebnisse erhalten.

Über den E-Commerce hinaus können Abfrageregeln in vielen anderen Szenarien eingesetzt werden: Hervorhebung von Anleitungen zur Fehlerbehebung in Supportportalen, Auffinden wichtiger interner Dokumente in Wissensdatenbanken, Förderung aktueller Meldungen auf Nachrichtenseiten oder Herausfiltern abgelaufener Stellen- oder Inhaltsangebote. Sie können sogar Compliance-Regeln durchsetzen, wie beispielsweise das Ausblenden von eingeschränktem Material nach Benutzerrolle oder Region.

Zugehörige Inhalte

Sind Sie bereit, hochmoderne Sucherlebnisse zu schaffen?

Eine ausreichend fortgeschrittene Suche kann nicht durch die Bemühungen einer einzelnen Person erreicht werden. Elasticsearch wird von Datenwissenschaftlern, ML-Ops-Experten, Ingenieuren und vielen anderen unterstützt, die genauso leidenschaftlich an der Suche interessiert sind wie Sie. Lasst uns in Kontakt treten und zusammenarbeiten, um das magische Sucherlebnis zu schaffen, das Ihnen die gewünschten Ergebnisse liefert.

Probieren Sie es selbst aus