Shopware 6 mit OpenSearch verbinden

Shopware 6 mit OpenSearch verbinden

OpenSearch ist ein skalierbarer Suchserver und Analytics-Engine und wurde als Alternative zu Elasticsearch ins Leben gerufen. Die Anwendung ermöglicht die Verwaltung des Suchindexes, was eine beschleunigte Suche und erweiterte Funktionen in Onlineshops ermöglicht. Mit zahlreichen Funktionen und Vorteilen erleichtert OpenSearch die Nutzung der Suchfunktion sowohl für Sie als auch für Ihre Kunden und steigert die Benutzerzufriedenheit.

In der nachfolgenden Anleitung zeigen wir Ihnen, wie Sie OpenSearch mit Shopware 6 verbinden. Voraussetzung dafür ist eine vorhandene Installation von OpenSearch. Haben Sie OpenSearch noch nicht installiert, können Sie dies mithilfe unserer Anleitung per App-Installer nachholen.

Für den Einsatz von OpenSearch wird Shopware 6.4.0.0 oder eine neuere Shopware-Version benötigt.


1

Zunächst müssen Sie Ergänzungen in der .env vornehmen.

  • Loggen Sie sich mit Ihrem FTP-Zugang ein.
  • Wählen Sie den Ordner "web".
  • Speichen Sie danach die Datei ".env" lokal ab.
  • Öffnen Sie mit einem Editor die heruntergeladene Datei.

Ergebnis: Die .env ist geöffnet.

Hinweis: Ab der Shopware Version 6.5.0 müssen die Ergänzungen in der .env.local anstelle der .env vorgenommen werden.


Klicken Sie auf das Bild, um es zu vergrößern.

2

Damit Shopware 6 OpenSearch für die Suche verwendet, müssen Sie folgenden Block zur .env hinzufügen:

Hinweis:

  • Tragen Sie als Kunde eines Cloud-Servers den OpenSearch-Server anstelle von "localhost" bzw. "127.0.0.1" ein.
  • SHOPWARE_ES_HOSTS="admin:"Passwort"@127.0.0.1:14021"
    OPENSEARCH_URL="admin:"Passwort"@127.0.0.1:14021"
    SHOPWARE_ES_INDEXING_ENABLED="1"
    SHOPWARE_ES_INDEX_PREFIX="sw6"
    

    Hinweis: Das Passwort für OpenSearch finden Sie in Ihrer OpenSearch-Installation in ISPConfig unter "Weitere Einstellungen".

  • Speichern Sie diese Änderungen.
  • Laden Sie die Datei über den FTP-Client wieder hoch, wodurch die Datei ersetzt wird.

Ergebnis: Die .env wurde angepasst und hochgeladen.

Hinweis: Ab der Shopware Version 6.5.0 müssen die Ergänzungen in der .env.local anstelle der .env vorgenommen werden.



3

  • Passen Sie die config/packages/elasticsearch.yaml wie folgt an:
  • elasticsearch:
        hosts: "%env(string:OPENSEARCH_URL)%"
        index_settings:
          number_of_shards: 1
          number_of_replicas: 0
    

Ergebnis: Die elasticsearch.yaml wurde angepasst.



4

Nun müssen Sie noch den Suchindex neu aufbauen lassen.

  • Nutzen Sie Ihren SSH-Zugang, um sich mit dem Server zu verbinden.
  • Führen Sie nun über die Konsole folgenden Befehl aus:
  • php bin/console es:index
    

    Hinweis: Wie lang die Ausführung dieses Befehls dauert ist abhängig von der Anzahl der zu indizierenden Produkte.

Ergebnis: Der Suchindex wurde neu aufgebaut.



5

Jetzt müssen Sie OpenSearch noch über die .env Datei aktivieren.

  • Rufen Sie .env erneut im FTPClient auf.
  • Ergänzen Sie die nachfolgende Zeile oder passen Sie die bereits vorhandene Zeile an:
  • SHOPWARE_ES_ENABLED="1"
    

Ergebnis: OpenSearch wurde in der .env Datei aktiviert.

Hinweis: Ab der Shopware Version 6.5.0 müssen die Ergänzungen in der .env.local anstelle der .env vorgenommen werden.



6

Nun muss in ISPConfig ein Cronjob eingerichtet werden, der sicherstellt, dass der Suchindex regelmäßig neu aufgebaut wird.

  • Loggen Sie sich bitte über Ihr Server Control Panel ein.
  • Wählen Sie im Hauptmenü den Punkt "Webseiten".

Ergebnis: Die Seite "Webseiten" wird angezeigt.



7

  • Im Untermenü befindet sich der Punkt "Kommandozeile".
  • Wählen Sie hier "Cronjobs".

Ergebnis: Der Bereich Cronjobs wird geöffnet.



8

  • Klicken Sie auf den grünen Button "Neuen Cronjob anlegen", um einen neuen Cronjob zu erstellen.

Ergebnis: Es öffnet sich das Formular Cronjob.



9

Dieser Befehl wird jede Nacht um 03:30 Uhr ausgeführt und reindiziert alle Artikel neu.

Füllen Sie das Formular aus.

1. Website wählen: Wählen Sie per Dropdown die Website aus, für die der Cronjob angelegt werden soll.

2. Minuten: Geben Sie den Wert 30 ein.

3. Stunden: Geben Sie den Wert 3 ein.

4. Tage des Monats / Monate / Tage der Woche: Geben Sie jeweils ein * (Sternchen) ein.

5. Auszuführender Befehl: Geben Sie folgenden Befehl ein:

cd [web_root] && [php] bin/console es:index

6. Ausgabe loggen: Stellen Sie die Schaltfläche auf "ein", damit die Ausgabe im cron.log loggt.

7. Aktiv: Stellen Sie die Schaltfläche auf "ein", damit der Cronjob ausgeführt wird.

8. Beschreibung: Dieses Feld ist optional. Hier können Sie eine eigene Beschreibung einfügen, damit Sie die Cronjobs später eindeutig einer Aktion zuordnen können.

9. Speichern: Bestätigen Sie die Eingabe mit einem Klick auf den grünen Button.

Ergebnis: Der Cronjob zur Sicherstellung des Suchindexaufbaus wurde eingerichtet und Sie gelangen in die Übersichtsseite aller Cronjobs.

Hinweis: Shopware selbst prüft parallel dazu alle 5 Minuten über einen scheduled task, ob das Reindizieren abgeschlossen ist und würde den alten auf den neuen Index umschalten.



10

Wurde der neue Suchindex korrekt aufgebaut, können Sie nun alte, nicht mehr benötigte Indizes entfernt werden.

  • Legen Sie dafür einen weiteren, neuen Cronjob an, indem Sie die Schritte 5 bis 7 wiederholen.

Ergebnis: Es haben ein neues Formular Cronjob geöffnet.



11

Füllen Sie das Formular aus.

1. Website wählen: Wählen Sie per Dropdown die Website aus, für die der Cronjob angelegt werden soll.

2. Minuten: Geben Sie den Wert 15 ein.

3. Stunden: Geben Sie den Wert 3 ein.

4. Tage des Monats / Monate / Tage der Woche: Geben Sie jeweils ein * (Sternchen) ein.

5. Auszuführender Befehl: Geben Sie folgenden Befehl ein:

cd [web_root] && [php] bin/console es:index:cleanup -f

6. Ausgabe loggen: Stellen Sie die Schaltfläche auf "ein", damit die Ausgabe im cron.log loggt.

7. Aktiv: Stellen Sie die Schaltfläche auf "ein", damit der Cronjob ausgeführt wird.

8. Beschreibung: Dieses Feld ist optional. Hier können Sie eine eigene Beschreibung einfügen, damit Sie die Cronjobs später eindeutig einer Aktion zuordnen können.

9. Speichern: Bestätigen Sie die Eingabe mit einem Klick auf den grünen Button.

Ergebnis: Der Cronjob zur Enfernung alter bzw. nicht mehr benötigter Indizes wurde eingerichtet und Sie gelangen zurück in die Übersichtsseite aller Cronjobs.


Hinweis: Für weiterführende Informationen zur Funktionsweise der einzelnen Befehle und für weitere Optionen steht Ihnen die offizielle Dokumentation zu Elasticsearch seitens Shopware unter developer.shopware.com zur Verfügung.


Geschafft! Sie haben Shopware 6 mit OpenSearch verbunden!

Finden Sie den passenden Tarif

Unser Tarifberater hilft Ihnen dabei, das passende Paket zu finden. Bei Fragen berät Sie unser Sales-Team sehr gerne unter +49 (0) 4131 / 22 78 1-25 oder sales@timmehosting.de.

Bitte beachten Sie: Der Tarifberater dient nur der groben Orientierung. Ihr tatsächlicher Bedarf kann durch den Ressourcenbedarf Ihrer Anwendung(en), tageszeitabhängige/saisonale/aktionsbedingte Schwankungen des Besucheraufkommens, geplantes Wachstum und weitere Faktoren von der Empfehlung abweichen.

  • 1
  • 2
  • 3
  • 4
  • 5

Was möchten Sie hosten?

Möchten Sie einen oder mehrere Shops hosten? (Eine Multishop-Installation gilt als ein Shop.)

Möchten Sie eine oder mehrere Websites hosten? (Eine Multisite-Installation gilt als eine Website.)

Wieviele Besucher haben Sie insgesamt pro Tag?

Wieviele Besucher haben Sie insgesamt pro Tag?

Wieviele Besucher haben Sie insgesamt pro Tag?

Wieviele Artikel haben Sie insgesamt in Ihrem Shop/Ihren Shops (inkl. Varianten)?

Wieviele Artikel haben Sie insgesamt in Ihrem Shop/Ihren Shops (inkl. Varianten)?

Wieviel Speicherplatz benötigen Sie insgesamt?

Wieviel Speicherplatz benötigen Sie insgesamt?

Wieviel Speicherplatz benötigen Sie insgesamt?

Wir empfehlen Ihnen folgende Lösungen:

ScaleServer oder Web Hosting

Zu den ScaleServer Paketen Zu den Web Hosting Paketen

Wir empfehlen Ihnen folgende Lösungen:

ScaleServer oder Shop Hosting

Zu den ScaleServer Paketen Zu den Shop Hosting Paketen

Wir empfehlen Ihnen folgende Lösungen:

Managed vServer oder ScaleServer

Zu den Managed vServer Paketen Zu den ScaleServer Paketen

Wir empfehlen Ihnen folgende Lösungen:

Managed Server oder ScaleServer

Zu den Managed Server Paketen Zu den ScaleServer Paketen

Wir empfehlen Ihnen unsere

Timme Cloud 2.0

Zur Timme Cloud 2.0