Elastic Search: Hinzufügen von Suchfunktionen für Ihre Website

Überblick


Onboarding der Daten

In dieser aus 3 Videos bestehenden „Quick Start“-Serie erfahren Sie mehr über die modernen, auf natürlicher Sprache basierenden Sucherlebnisse mit vorjustierter Relevanz für Ihre Apps und Websites, die Elastic Search bietet. Erfahren Sie, wie schnell Sie die Lösung einrichten, Daten ingestieren, die Suchoberfläche kennenlernen und eine Suchmaschine analysieren und auf Ihre Bedürfnisse abstimmen können. Die Videos geben einen Überblick über Elastic Search, erklären das Indexieren von Daten in Elastic Search und stellen das Analysieren und Feinjustieren der Suche vor.

Elastic Cloud-Konto erstellen

Registrieren Sie sich zunächst einmal, um Elastic Cloud 14 Tage lang kostenlos ausprobieren zu können. Öffnen Sie cloud.elastic.co, erstellen Sie ein Konto und folgen Sie den Schritten unten, um herauszufinden, wie Sie Ihren ersten Elastic Stack in einer unserer mehr als 50 unterstützten Regionen weltweit starten können.

Wenn Sie auf Edit setting klicken, können Sie einen Cloud-Anbieter – Google Cloud, Microsoft Azure oder AWS – auswählen. Anschließend werden Sie um die Auswahl der zugehörigen Region gebeten. Als Nächstes können Sie festlegen, welches Hardware-Profil verwendet werden soll, und so das Deployment besser an Ihre Anforderungen anpassen. Zudem wurde bereits die neueste Version von Elastic vorausgewählt.

Für diesen konkreten Anwendungsfall benötigen Sie eine 4‑GB-RAM-Instanz. Diese können Sie einrichten, indem Sie vor der Erstellung Ihres Deployments die Option Advanced settings wählen, zum unteren Rand der Enterprise Search-Instanz scrollen und mithilfe des Drop-down-Menüs Size per zone 4 GB RAM als Größe festlegen. Wenn Sie damit fertig sind, können Sie Create deployment wählen.

Beim Erstellen Ihres Deployments erhalten Sie einen Nutzernamen und ein Passwort. Denken Sie daran, die Informationen herunterzuladen oder zu kopieren, da Sie sie für die Installation Ihrer Integrationen benötigen.

Ingestieren von Daten mit dem Elastic-eigenen Web-Crawler

Nachdem Sie nun Ihr Deployment erstellt haben, können Sie damit beginnen, Daten an Elastic zu senden. Wir verwenden dazu den Elastic-eigenen Web-Crawler. Wir wählen als Erstes die Kachel Add search to my website aus.

Es erscheint ein Fenster. Hier klicken wir auf Start.

Wenn Sie sich informieren möchten, wie Sie den Web-Crawler einrichten, sehen Sie sich diese angeleitete Tour an oder folgen Sie den Anweisungen unten:

Jetzt erstellen wir einen Index. In dieser Anleitung lasse ich Blogposts von elastic.co ingestieren.

Wir geben einen Namen für den Index ein und wählen dann Create index. Als Nächstes müssen wir die Domäne validieren (Validate Domain) und die Domäne hinzufügen (Add domain).

Wenn erforderlich, wählen wir nach dem Hinzufügen der Domäne unten rechts Edit aus, um eine Unterdomäne hinzuzufügen.

Als Nächstes wählen wir Crawl rules aus und fügen Regeln für das Crawlen hinzu, wie unten dargestellt.*

* Da die Seite, die wir crawlen wollen, mit anderen Seiten verlinkt ist, empfiehlt es sich, zusätzliche Regeln hinzuzufügen, um sicherzustellen, dass diese Links und andere nicht mitgecrawlt werden.

Verbinden mit Ihren Datenbanken mit Elasticsearch

Es besteht auch die Möglichkeit, Inhalte aus Ihrer Datenbank hinzuzufügen. Dazu wählen wir als Ingestionsmethode Use a connector aus.

Als Nächstes wählen wir MongoDB und geben dann in die Konfigurationsfelder des MongoDB-Connectors die oben zusammengesammelten Informationen ein. Wenn es keinen Grund dafür gibt, Lesevorgänge auf einem konkret benannten Host zu erzwingen, legen wir für „Direct connection“ „false“ fest. (Näheres dazu ist im MongoDB-Artikel „Connection Options“ zu finden.)

Nachdem wir unsere Informationen eingegeben haben, gehen wir jetzt zum Tab Scheduling und richten einen auf unseren Anwendungsfall abgestimmten Zeitplan für die automatische Datenbanksynchronisierung ein. Nach dem Konfigurieren des Synchronisierungszeitplans schließen wir den Vorgang mit einem Klick auf Sync ab.


Arbeiten mit Elasticsearch

Nutzen der Vektorsuche für das Erstellen von Sucherlebnissen

Möchten Sie als Teil Ihres Sucherlebnisses die Vektorsuche nutzen? Elastic bietet zwei Formen der Vektorsuche: die Suche mit „dicht besetzten“ Vektoren (die sogenannte kNN-Vektorsuche) und die Suche mit „dünn besetzten“ Vektoren, wie z. B. mit Elastic Learned Sparse Encoder (ELSER).

Die Suche mit dünn besetzten Vektoren ist für den Anfang die einfachere Form. Elastic bietet für die semantische Suche ein vorkonfiguriertes Modell: das „Learned Sparse Encoder“-Modell. Dieses Modell schneidet bei einer Vielzahl von Datenbeständen, wie z. B. Finanzdaten, Wetterdaten und Frage-Antwort-Paaren, besser ab als andere. Es ist so aufgebaut, dass es Fachbereiche übergreifend eine hohe Relevanz bietet, ohne dass es einer zusätzlichen Feinjustierung bedarf.

Die folgende interaktive Demo zeigt, wie Suchergebnisse relevanter werden, wenn Sie das „Learned Sparse Encoder“-Modell von Elastic gegen den textuellen BM25-Algorithmus von Elastic testen.

Darüber hinaus unterstützt Elastic auch kNN-Vektoren, um eine Ähnlichkeitssuche in unstrukturierten Daten jenseits von Text zu implementieren, also z. B. in Videos, Bildern und Audio.

Die semantische Suche und die Vektorsuche haben beide den Vorteil, dass Kunden mit diesen Technologien Suchanfragen in natürlicher Sprache stellen können. Wenn jemand z. B. nach Arbeitsplatzrichtlinien für einen Nebenerwerbsjob suchen möchte, könnte die Person in ihrer Suche auch den Begriff „Side Hustle“ verwenden, obwohl dieser Begriff in einem offiziellen HR-Dokument eher nicht auftreten würde.

Eine Einführung in das Erstellen einer semantischen Suche unter Verwendung der Vektorsuche finden Sie in dieser Schrittanleitung.


Wie geht es weiter?

Vielen Dank dass Sie sich die Zeit genommen haben, Ihre Datenbanken mithilfe von Elastic Cloud mit Elasticsearch zu verbinden. Für Ihre Elastic-Journey sollten Sie die wichtigsten operativen, Security- und Datenkomponenten kennen, die Sie als Nutzer:in verwalten müssen, wenn Sie einen Cluster in Ihrer Umgebung bereitstellen.