Enterprise Suche

Die Enterprise Suche bietet Dir einfache Konfigurationsmöglichkeiten und aufgrund der Elasticsearch-Basis hohe Performance.

Voraussetzungen

Da die Enterprise Suche auf Elasticsearch basiert, ist eine Elasticsearch-Instanz Grundvoraussetzung für den Betrieb. Wie Du Elasticsearch in Shopware 6 integrierst, erfährst Du hier.
 

Installation

Als Bestandteil der Enterprise Edition steht Dir die Enterprise Suche als Plugin zur Verfügung.
Du kannst das Plugin in der Pluginverwaltung unter Einstellungen > System > Plugins > Einkäufe herunterladen.
Anschließend wird das Plugin unter Meine Plugins aufgelistet und kann über den "..."-Button installiert werden.
Nachdem das Plugin installiert wurde, kannst Du es über den Schalter in der Spalte Status aktivieren.

Weitere Informationen zur Plugin-Verwaltung findest Du hier.


Plugin kann nicht installiert werden
Solltest Du bei der Installation des Plugins die Meldung

"Could not install plugin, got 1 failure(s). Required plugin/package "shopware/platform >=v6.0

erhalten, ist es erforderlich, eine Anpassung der composer.json des Plugins vorzunehmen.
Das Plugin findest Du im Shopware-Verzeichnis unter /custom/plugins/SwagEnterpriseSearchPlatform.
In der composer.json passt Du den Bereich


"require": {
"shopware/platform": ">=6.1.0 < 6.3.0"
},

an.
Dort entfernst Du den Eintrag


"shopware/platform": ">=6.1.0 < 6.3.0"

und fügst


"shopware/core": ">=6.1.0 < 6.3.0",
"shopware/storefront": ">=6.1.0 < 6.3.0",
"shopware/administration": ">=6.1.0 < 6.3.0",
"shopware/elasticsearch": ">=6.1.0 < 6.3.0"

ein.
Nachdem Du die Änderungen gespeichert hast, kannst Du das Plugin in der Plugin-Verwaltung im Admin installieren.


 

Konfiguration

Die Konfiguration der Enterprise Suche findest Du unter Einstellungen > Plugins > Shopware Enterprise Suche.

Übersicht

Im Tab Übersicht kannst Du die grundlegende Konfiguration der Suche vornehmen.
 


Im Bereich Allgemeine Einstellungen wird über Welche Informationen werden indexiert und priorisiert (2) ein Modal aufgerufen, in dem Du die für die Suche zu berücksichtigenden Datensätze festlegst.

Im Abschnitt Trefferanzahl definierst Du die Anzahl der angezeigten Elemente für die Suchvorschau (3) und die Suchergebnisseite (4).


Durchsuchbare Informationen


Um die zu durchsuchenden Daten festzulegen, wähle zunächst aus, für welche Entity (1) Du die Einstellung vornehmen möchtest. In der Enterprise Suche können Produkte, Kategorien und Hersteller durchsucht werden.

Anschließend wird Dir unterhalb eine Liste mit allen für die gewählte Entity verfügbaren Datensätzen aufgelistet. Dort kannst Du für jeden Datensatz festlegen, ob dieser nicht durchsucht (2), durchsucht (3) oder priorisiert (4) werden soll.
Priorisiert bedeutet, dass Treffer bei der Suche für den Inhalt dieses Datensatzes eine doppelt so hohe Gewichtung erhalten.

Bei Datensätzen, die auf Datenbankebene als Text (z.B. varchar) definiert sind, kannst Du zusätzlich festlegen, ob hierbei auch Teiltreffer (5) einbezogen werden sollen und ob auch Zusammengesetzte Wörter (6) berücksichtigt werden.
Teiltreffer sind z.B. kleinere Wortteile eines längeren Begriffs (Testprodukt).
Bei zusammengesetzten Wörtern werden mehrere Wörter auch ohne Eingabe eines Leerzeichens kombiniert (Test Produkt findet auch Testprodukt).

Nachdem Du Initial die Einstellungen der Indexierung vorgenommen hast, ist es erforderlich, eine Indexierung über die Serverkonsole durchzuführen. Wie Du die Indexierung durchführst, erfährst Du im Abschnitt Indexierung.

Beachte bitte, dass die Konfiguration der zu indexierenden Daten aktuell nicht Verkaufskanalspezifisch möglich ist.
 

Vorschau

Die Vorschau ermöglicht Dir, die Sucheinstellungen direkt im Admin zu testen.
 


Um die Vorschau zu nutzen, wähle zunächst den Verkaufskanal (1), für den Du die Suche testen möchtest.
Über die Auswahl (2) neben dem Suchfeld (3) kannst Du festlegen, ob Du die Suche für Produkte, Kategorien oder Hersteller testen möchtest.
Nachdem Du einen Suchbegriff eingegeben hast, wird Dir unterhalb eine Liste mit den Suchergebnissen angezeigt.
In dieser Liste wird für die Suchergebnisse zusätzlich ein Ranking eingeblendet, über das Du die Relevanz zum Suchbegriff erkennen kannst. Dieses Ranking wird anhand der Elasticsearch-Suchalgorithmen errechnet. Einige weitere Informationen zum Ranking eines Suchergebnisses erhältst Du, wenn Du mit der Maus über das Ranking des Suchergebnisses hooverst.
 

Boostings

Neben der Priorisierung von einzelnen zu durchsuchenden Datensätzen, besteht die Möglichkeit, zusätzliche Boostings anzulegen. Ein Boosting bietet Dir gezielte Konfigurationsoptionen, um z.B. bestimmte Produkte in den Suchergebnissen weiter oben anzuzeigen.


Produkt-Boosting

Für das Boosting von Produkten werden vorhandene dynamische Produktgruppen verwendet. Es werden die Produkte höher gewertet, die in der Produktgruppe vorhanden sind und auf die die Suchanfrage generell zutrifft.
Solltest Du bisher noch keine entsprechende dynamische Produktgruppe erstellt haben, empfehlen wir Dir, dies als ersten Schritt durchzuführen.
 

Für die Konfiguration eines Produkt-Boostings vergib zunächst einen Namen (1) und die gewünschte Boosting-Relevanz im Feld Boost (2). Um das Boosting zu aktivieren, klicke auf den Schalter Aktiv (3).
Optional ist es möglich, das Boosting nur in einem bestimmten Zeitraum zu verwenden. Hierzu stelle den Zeitraum in den Feldern Aktiv von (4) und Aktiv bis (5) ein.
Als Stream Typ (5) wähle Product Stream aus, hierdurch wird das Feld TypeId (7) eingeblendet. Im Auswahlfeld TypId kannst Du dann aus den vorhandenen dynamischen Produktgruppen wählen.


Kategorie- und Hersteller-Boosting

Für das Boosting von Kategorien und Herstellern kannst Du direkt im Modal des Boostings eigene Regeln definieren.
 

Bei der Konfiguration eines Kategorie oder Hersteller-Boostings, vergib zunächst einen Namen (1) und die gewünschte Boosting-Relevanz im Feld Boost (2). Um dieses Boosting zu aktivieren, klicke auf den Schalter Aktiv (3).
Über die Felder Aktiv von (4) und Aktiv bis (5) kannst Du das Boosting zeitlich begrenzen, ohne dieses manuell zu einer bestimmten Zeit ein- bzw. ausschalten zu müssen.
Als Stream Typ (6) wähle Entity Stream aus, im nun erscheinenden Feld Typ (7) Kategorie oder Hersteller.
Anschließend wird die Möglichkeit zum Erstellen von Regeln (8) eingeblendet. Diese Regel-Konfiguration basiert auf dem Rule-Builder. Hiermit kannst Du individuelle Bedingungen erstellen, anhand derer das Boosting angewendet werden soll.
 

Indexierung

Nachdem Du das erste Mal die Konfiguration der Enterprise Suche vorgenommen hast, ist es erforderlich, den Index aufzubauen. Dies ist in 3 Schritten in der Serverkonsole möglich.

Zunächst werden die Indizes erstellt bzw. aktualisiert


php bin/console dal:refresh:index


Nachdem dieser Schritt vollständig durchgelaufen ist, erfolgt im zweiten Schritt die Verarbeitung


php bin/console messenger:consume


Abschließend können noch die Aliase für die Indizes angelegt werden


php bin/console es:create:alias


Die Indexierung funktioniert genau wie bei der technisch zu Grunde liegenden Elasticsearch-Integration.
Daher findest Du weitere Informationen in der Dokumentation zu Elasticsearch.


Nachdem die initiale Indexierung erfolgt ist, werden weitere Änderungen und neue Produkte automatisch übernommen.

War dieser Artikel hilfreich?