Wie Sie sich die leistungsstarke Suchmaschine in Ihrem Shopware Onlineshop zunutze machen.

Was ist Elasticsearch?

Bei Elasticsearch handelt es sich um eine Suchmaschine auf Basis der Apache Lucene Programmbibliothek. Die leistungsstarke Such-Engine wird dafür verwendet, um Dokumente zu speichern und diese einfach und schnell durchsuchbar zu machen. Dazu setzt die in der objektorientierte Programmiersprache Java geschriebene Software zur Speicherung der Dokumente auf das besonders kompakte Datenformat JSON (JavaScript Object Notation) anstatt wie klassische Datenbanken auf SQL zu setzen. Dieser nicht-relationale Ansatz wird auch als NoSQL bezeichnet. Die Bedienung und Kommunikation mit Klienten erfolgt über ein REST (Representational State Transfer) Interface, was vor allem dem Einsatz der Such-Engine in einem Rechnerverbund zugutekommt, um Hochverfügbarkeit und Lastverteilung realisieren zu können.

Wie funktioniert Elasticsearch?

Elasticsearch arbeitet mit Dokumenten als kleinste Einheit im System. Jedes Dokument, dass durchsucht werden soll, muss zuerst einmal indexiert werden, also in den Index aufgenommen werden. Elasticsearch teil den Index in mehrere Stücke auf, die als sogenannte shards (Bruchstücke) bezeichnet werden und auf mehrere Server (nodes) aufgeteilt werden. Auf diese Weise kann die anfallende Rechenlast über mehrere Systeme verteilt und Ausfälle einzelner Server überbrückt werden. In jeder Gruppe wird darüber hinaus ein master node für die Suchmaschine bestimmt.

Sollen Informationen zu Produkten in einem Onlineshop wie Shopware durchsuchbar gemacht werden, dann müssen diese jeweils in ein einzelnes Dokument gespeichert werden, das an den Index übermittelt wird. Der Index entspricht dabei der klassischen SQL-Tabelle und das Dokument einer klassischen Tabellenzeile. Anzahl und Typen der Felder eines Dokuments sind hier aber nicht starr vorgegeben.

Dokumente müssen im JSON-Format vorliegen, damit sie im Such-Index aufgenommen werden können. Das sieht beispielsweise wie folgt aus:

{

 „produktname“: „Adidas x Missoni UltraBOOST Schuh“,

 „marke“: „Adidas“,

 „preis“: „249,95“,

 „groesse“: „40“

}

Auch die Suchanfragen werden im JSON-Format an den Such-Index gesendet. Das sieht beispielsweise wie folgt aus:

{

 „query“: {

 „match“: {

 „marke“: „adidas“

 }

 }

}

Welche Vorteile bringt Elasticsearch für den eigenen Onlineshop?

Elasticsearch ist die perfekte Suchmaschine für Onlineshops mit einem umfangreichen Produktsortiment. Das System ist extrem schnell, gut skalierbar und hochverfügbar. Potenzielle Kunden, die sich für bestimmte Produkte interessieren und die Suchfunktion eines Onlineshops nutzen, erwarten umgehend Ergebnisse. Mit Elasticsearch lassen sich die Suchergebnisse bereits während der Eingabe anzeigen. Mithilfe der leistungsstarken Such-Engine können selbst Millionen von Artikeln unter Spitzenlast bei einem Besucheranstrom in atemberaubender Geschwindigkeit durchsucht werden. Für Onlineshops mit einer hohen Anzahl an Produkten kann die Volltextsuche mit Elasticsearch wesentlich schneller ausgeführt werden als die Volltextsuche mit der herkömmlichen Suchfunktionen von MySQL.

Wie lässt sich Elasticsearch mit Shopware nutzen?

Die Integration von Elasticsearch wird ab Version Shopware 5.0 unterstützt. Um die leistungsstarke Search-Engine nutzen zu können, muss die Unterstützung aber zuerst aktiviert werden.

Dazu wird die config.php um folgenden Code erweitert:

 ‚es‘ => [

 ‚enabled‘ => true,

 ’number_of_replicas‘ => null,

 ’number_of_shards‘ => null,

 ‚version‘ => ‚6.4.1‘,

 ‚client‘ => [

 ‚hosts‘ => [

 ‚localhost:9200‘

 ]

 ],

 ‚backend‘ => [

 ‚write_backlog‘ => true,

 ‚enabled‘ => true,

 ],

 ],

Mit der Version Shopware 5.5 wurde die Elasticsearch Integration noch einmal stark verbessert. Nun lassen sich neben der Suche auch Module im Backend indexieren, wodurch noch mehr Geschwindigkeitsvorteile entstehen.

Wie die Elasticsearch Installation genau durchgeführt und anschließend konfiguriert werden muss, hängt von den individuellen technischen Gegebenheiten sowie den Vorgaben seitens des Hosting-Anbieters ab. Eine genaue Anleitung dazu ist sowohl auf der Shopware Webseite als auch auf der Elasticsearch Webseite zu finden.

Als spezialisierte Shopware Agentur unterstützen wir Sie auch gerne bei der technischen Einrichtung der leistungsstarken Such-Engine Elasticsearch in Ihrem Onlineshop.

0 Kommentare

Dein Kommentar

An Diskussion beteiligen?
Hinterlasse uns Deinen Kommentar!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.