So konfigurieren Sie Elasticsearch in Magento 2

Veröffentlicht: 2022-12-20

Inhaltsverzeichnis

Die Magento-Plattform hat Geschäftsinhabern eine großartige Gelegenheit eröffnet, ihre Geschäfte mit weniger Einschränkungen und größerer Flexibilität zu eröffnen. Es kann Tausende von Produkten in vielen Kategorien und Unterkategorien in einem Geschäft geben, und normalerweise verbringen Kunden nur wenig Zeit mit der Suche nach den Produkten. Daher kann Ihr Magento-Shop mit einem Rückgang der Conversions konfrontiert sein, wenn Sie Ihren Kunden kein einfaches Sucherlebnis und nützliche Echtzeit-Suchergebnisse bieten können. Aus diesem Grund benötigen Sie eine leistungsstarke Suchmaschine, und Magento 2 Elasticsearch kommt zur Rettung.

Was ist Elasticsearch in Magento 2?

Elasticsearch-Logo

Laut Elasticsearch BV ist Elasticsearch eine verteilte, kostenlose und offene Such- und Analysemaschine für alle Arten von Daten, einschließlich textueller, numerischer, räumlicher, strukturierter und unstrukturierter Daten.

Elasticsearch wurde erstmals 2010 veröffentlicht und basiert auf einer Java-basierten Such- und Indizierungsbibliothek namens Apache Lucene. Es ist eine Volltextsuchmaschine, die verwandte Schlüsselwörter vorschlägt und vollständige Abfragen anzeigt, indem Wörter innerhalb des Dokuments oder der Datenbank verglichen werden. Außerdem machen das verteilte Modell und die Offenheit für alle Arten von Daten die Suche schnell und einfach zu skalieren.

Aufgrund dieser Fähigkeiten wurde Elasticsearch in der Anwendungssuche verwendet; Website-Suche; Unternehmenssuche; Protokollierung und Protokollanalyse; Überwachung der Anwendungsleistung; Analyse und Visualisierung von Geodaten; Geschäftsanalysen usw.

Seit Magento 2.4 erfordert Adobe Commerce oder Magento, dass Elasticsearch die Standard-Katalogsuchmaschine ist. Daher wird es zu einer obligatorischen Komponente und kann bei der Installation von Magento nicht deaktiviert werden. Elasticsearch liefert Kunden schnellere und relevantere Suchergebnisse in Echtzeit, was die Konversionsrate des Unternehmens erhöht. Dies ist ein großer Vorteil sowohl für Kunden als auch für Besitzer von Magento 2-Shops.

Wie funktioniert Elasticsearch?

Was Elasticsearch in die Lage versetzt, so schnelle und zuverlässige Suchergebnisse zu liefern, ist seine Indizierungsfähigkeit, bei der es nach Indizes sucht, anstatt den Text zu untersuchen. Ein elastischer Index ist eine Gruppe ähnlich strukturierter Dokumente, die einen schnellen und effizienten Datenabruf ermöglichen und zum Speichern logisch zusammenhängender Dokumente verwendet werden.

Wenn Rohdaten aus verschiedenen Quellen wie Protokollen, Systemmetriken und Webanwendungen in Elasticsearch einfließen, werden sie von Elasticsearch verarbeitet. Dann indiziert es diese Daten, und danach können Benutzer komplizierte Suchen nach den Daten durchführen und detaillierte Zusammenfassungen ihrer Daten mithilfe von Aggregationen erhalten. (Elastic.co)

elastische Suchstruktur
Quelle: Thirdrocktechkno.com

Einige der wichtigsten Funktionen von Elasticsearch:

  • Schnelle Textsuche
  • Suchvorschläge
  • Automatische Vervollständigung
  • Rechtschreib-/Tippfehlerprüfung und Erkennung von Stoppwörtern
  • Protokollierung und Analyse
  • Standortsuche

Vorteile von Magento 2 Elasticsearch

Tolles Sucherlebnis

Langsame Antwortzeiten und schlechte Funktionalität von Suchmaschinen können zu hohen Absprungraten führen. Mit der schnellen Ergebnisgenerierung von Elasticsearch und den relevanten Ergebnissen in Echtzeit werden Kunden nicht entmutigt und verlassen die Website.

Und dank Autovervollständigung und Autosuggestion können Kunden viel Zeit und Aufwand sparen sowie Fehlabfragen reduzieren.

Eine irritierende Sache, mit der Suchende normalerweise konfrontiert sind, sind Tippfehler oder Rechtschreibfehler. Dies führt dazu, dass Suchmaschinen die Keywords nicht erkennen können und den Status „keine Ergebnisse gefunden“ ausgeben. Elasticsearch kann Stoppwörter und die dazugehörigen Phrasen finden, sodass es immer noch verwandte Ergebnisse liefern und diese sogar genauer machen kann.

Schnelle Suche

Elasticsearch ist ein leistungsstarkes Tool, das die gesuchten Schlüsselwörter in weniger als 10 Sekunden abrufen kann, viel schneller als die typische SQL-basierte Suche. Da es auf Lucene aufbaut und verteilte invertierte Indizes verwendet, schneidet Elasticsearch bei der Volltextsuche außergewöhnlich gut ab. ElasticSearch kann alle Suchanfragen für die Ergebnismenge abfangen, sodass jedes Mal, wenn eine Suchanfrage einen zwischengespeicherten Filter enthält, die Suche nach dem Ergebnis aus dem Cache geleitet wird. Das bedeutet, dass die Zeit zwischen der Indizierung eines Dokuments und der Durchsuchbarkeit relativ kurz ist, wodurch die Antwort auf die Suchergebnisse erhöht wird.

Hohe Skalierbarkeit und riesige Datenmengenverwaltung

Elasticsearch basiert auf einer verteilten Architektur. Das Unternehmen gibt an, dass „die in Elasticsearch gespeicherten Dokumente auf verschiedene Container, sogenannte Shards, verteilt sind, die dupliziert werden, um im Falle eines Hardwareausfalls redundante Kopien der Daten bereitzustellen.“ Daher ermöglicht seine Natur die Skalierung auf Tausende von Servern und die Verwaltung enormer Datenmengen.

Darüber hinaus ist es so aufgebaut, dass es auf jedem Cluster oder System mit zahlreichen Knoten erfolgreich ausgeführt werden kann. Daher erfordert die Erweiterung von einem einzelnen kleinen Cluster zu einem größeren nur wenig Vorbereitung und ist praktisch nahtlos.

Schemafrei

Elasticsearch verwendet JSON, die JavaScript-Objektnotation. Es speichert JSON-Dokumente mit Indizierungsdaten, um die Datenstruktur zu erkennen, und macht sie durchsuchbar. Das bedeutet, dass es keinerlei Datendefinition erfordert und normalerweise Standardwerte verwendet, um die Daten zu indizieren, sofern kein bestimmter Datentyp angegeben ist. Wenn später ein Objekt mit einer neuen Eigenschaft indiziert wird, werden die Zuordnungsdefinitionen automatisch aktualisiert. Daher ist es schemafrei.

Voraussetzungen zum Einrichten von Elasticsearch

Als erforderliches Add-on für die Magento-Plattform muss Elasticsearch installiert und konfiguriert werden, bevor Benutzer auf Version 2.4.x aktualisieren. Außerdem sollten Benutzer beachten, dass Adobe Adobe Commerce 2.3.x und PHP 7.3 nicht mehr unterstützt. Daher wird empfohlen, auf Adobe Commerce 2.4.x und PHP 7.4.x zu aktualisieren, um die PCI-Konformität zu wahren.

adobe-commerce-note-on-versionen
Quelle: Adobe Commerce DevDocs

Die aktuelle Magento 2.4.x-Installationssequenz erfordert, dass Benutzer Elasticsearch zusammen mit diesen zusätzlichen Anforderungen installieren:

  • Webserver (Apache oder Nginx)
  • MySQL
  • PHP

Die Version, die Magento für alle Installationen anfordert, ist Elasticsearch 7.6.x, daher sollten Benutzer sicherstellen, dass sie sich für diese Version entscheiden. Einige aktuelle Magento 2 Elasticsearch-Erweiterungen von Drittanbietern können Ihnen dabei helfen, Elasticsearch in Ihre Magento-Shops zu integrieren.

Einfache Elasticsearch-Konfiguration für Ihren Magento-Shop

Hier führen wir Sie durch die Schritte zur Konfiguration von Elasticsearch mit dem Magento 2 Admin Panel.

Schritt 1: Konfigurieren der Magento 2 Elasticsearch-Suchoptionen

1. Melden Sie sich als Administrator in Ihrem Magento 2-Admin-Panel an.

magento-admin-panel

2. Klickt auf Stores. Wählen Sie unter Einstellungen die Option Konfiguration . Klicken Sie auf dieser Seite auf den Abschnitt Katalog , um ihn zu erweitern.

Magento-Konfigurationspanel

3. Wählen Sie Katalogsuche . Hier sehen Sie alle Suchmaschinenversionen zur Auswahl und andere allgemeine Einstellungen.

  • Minimale Abfragelänge : Die Mindestanzahl an Zeichen, die Benutzer eingeben müssen, bevor Elasticsearch-Empfehlungen oder -Vorschläge angezeigt werden. Und der Systemstandardwert ist 3.
  • Maximale Abfragelänge : die maximale Anzahl von Zeichen, die eingegeben werden müssen, um Ergebnisse anzuzeigen. Der Systemstandardwert ist 128.
  • Anzahl der Top-Suchergebnisse in den Cache: Hier geben Sie die begrenzte Anzahl beliebter Suchergebnisse ein, um die Antwortgeschwindigkeit zu erhöhen. Der Standardwert ist 100. Wenn ein Begriff zum zweiten Mal gesucht wird, geben Sie eine „0“ ein, um alle Ergebnisse zwischenzuspeichern.
  • EAV-Indexer aktivieren oder deaktivieren: Ändern Sie dieses Feld, um die Indexierungsgeschwindigkeit zu erhöhen und Erweiterungen von Drittanbietern zu vermeiden, die den Indexer verwenden.
  • Limit für automatische Vervollständigung: Sie legen den Wert fest, um die maximal angezeigten Suchergebnisse für die automatische Vervollständigung von Magento 2 Elasticsearch zu begrenzen. Dies hilft, die Suchleistung zu verbessern und die angezeigte Liste zu verkürzen. Die Standardeinstellung ist 8.
Allgemeine elastische Sucheinstellungen

Schritt 2: Magento 2 Elasticsearch-Verbindung konfigurieren

Die folgende Tabelle zeigt die erforderlichen Optionen zum Konfigurieren und Testen der Verbindung mit Magento. Wenn Sie keine Einstellungen anpassen und die Standardeinstellungen beibehalten, fahren Sie mit dem nächsten Schritt fort.

Magento-2-ElasticSearch-Verbindungstesttabelle
Quelle: Adobe Commerce DevDocs
Magento-2-Elasticsearch-Connection-Test-Felder

Klicken Sie auf Verbindung testen , um die Einrichtung und den Test abzuschließen.

Wenn die Verbindung nicht erfolgreich ist, versuchen Sie die folgenden Möglichkeiten

  • Prüfen Sie, ob Ihr Elasticsearch-Server noch läuft.
  • Melden Sie sich beim Magento-Server an und pingen Sie den Elasticsearch-Host an, wenn er sich auf einem anderen Host als Magento befindet. Beheben Sie alle Probleme mit der Netzwerkverbindung und testen Sie Ihre Verbindung erneut.
  • Beheben Sie alle Stack-Traces und Fehler in dem Befehlsfenster, in dem Sie Elasticsearch gestartet haben, bevor Sie fortfahren. Und stellen Sie sicher, dass Sie Elasticsearch als Benutzer mit Root-Zugriff gestartet haben.
  • Stellen Sie sicher, dass die UNIX-Firewall und SELinux ausgeschaltet sind, oder aktivieren Sie die Kommunikation zwischen Elasticsearch und Magento, indem Sie Regeln einrichten.
  • Stellen Sie sicher, dass der im Feld Elasticsearch Server Port ausgewählte Port nicht bereits von einem anderen Prozess verwendet wird, indem netstat -an | grep **listen-port** verwenden netstat -an | grep **listen-port** Befehl.

Schritt 3: Konfigurieren Sie Vorschläge und Empfehlungen

Wie oben erwähnt, sind die Suchempfehlungen und -vorschläge von Magento 2 Elasticsearch praktisch und hilfreich für Kunden, die nach passenden Produkten suchen.

Für diese Phase können Sie die Standardeinstellungen verwenden oder einige Änderungen vornehmen:

  • Aktivieren Sie die Felder Suchempfehlungen aktivieren und Suchvorschläge aktivieren .
  • Wählen Sie aus, wie viele Suchempfehlungen und -vorschläge Sie in den Feldern „Anzahl der Suchempfehlungen“ und „Anzahl der Suchvorschläge“ anbieten möchten.
  • Erlauben Sie die Anzeige der Anzahl der gefundenen Ergebnisse für jede Empfehlung und jeden Vorschlag in den Feldern „Ergebnisanzahl für jede Empfehlung anzeigen“ und „Ergebnisanzahl für jeden Vorschlag anzeigen“.
  • Geben Sie einen Wert in Minimal abzugleichende Begriffe an , um die Mindestanzahl an Begriffen festzulegen, mit denen die Suchergebnisse übereinstimmen müssen, damit Benutzer die relevantesten erhalten.
Magento-2-ElasticSearch-Empfehlung-Vorschlag-Einstellungen

Wenn Sie mit der Einrichtung fertig sind, klicken Sie auf Save Config .

Schritt 4: Katalogsuche neu indizieren und Ganzseiten-Cache aktualisieren

Nachdem Sie die Magento 2 Elasticsearch-Konfiguration geändert haben, müssen Sie den Katalogsuchindex neu indizieren und den kompletten Seiten-Cache neu laden. Es gibt zwei Möglichkeiten, dies zu tun: über die Admin- oder Befehlszeile.

Verwendung der Administrationsmenü:

  1. Klicken Sie im Admin auf System und navigieren Sie zu Cache Management.
  2. Aktivieren Sie das Kontrollkästchen Seiten- Cache .
  3. Wählen Sie oben rechts auf der Seite in der Liste Aktionen die Option Aktualisieren aus.
Cache-Management-Abschnitt

Führen Sie zum Bereinigen des Caches den Befehl magento cache:clean .

Verwenden der Befehlszeile:

  • Melden Sie sich als Eigentümer des Dateisystems an oder wechseln Sie auf Ihrem Magento-Server dorthin.
  • Um nur den Katalogsuchindex neu zu indizieren, geben Sie Folgendes ein:

bin/magento indexer:reindex catalogsearch_fulltext

  • Um alle Indexer neu zu indizieren, geben Sie Folgendes ein:

bin/magento indexer:reindex

  • Warten Sie, bis die Neuindizierung abgeschlossen ist.

Fazit

Elasticsearch wird von bekannten Namen wie Netflix, LinkedIn, eBay usw. verwendet und vertraut darauf, dass es die Website-Suche für Ihre Kunden einfach und effektiv macht. Sobald die Konfiguration von Magento 2 Elasticsearch abgeschlossen ist, wird Ihr Geschäft gestärkt, um Suchanfragen in Verkäufe umzuwandeln und Warenkorbabbrüche zu minimieren.
Ich hoffe, dieser Beitrag ist nützlich und wir wünschen Ihnen viel Glück im E-Commerce!