Elasticsearch für Onlineshops

Elasticsearch für Onlineshops

Seit mehreren Jahren erfreut sich die Suchmaschine Elasticsearch größter Beliebtheit – nicht zuletzt im E-Commerce. Denn eine schnelle und leistungsfähige Suchfunktion ist für Onlineshops enorm wichtig. Wir erklären, was Elasticsearch für Shopbetreiber so interessant macht, wo die Unterschiede im Vergleich zu Solr liegen und was man braucht, um Elasticsearch in seinem Shop einzusetzen.

Was genau ist und was kann Elasticsearch?

Elasticsearch ist neben Solr der am weitesten verbreitete Suchserver. Die auf dem kompakten Datenformat JSON und dem für verteilte Systeme entwickelten Standard REST basierende Open Source Suchmaschine kann Millionen von Datensätzen binnen Millisekunden abfragen. Elasticsearch ist sehr gut für den unkomplizierten Einsatz in verteilten Systemen (Server-Cluster) und damit für die Realisierung von Hochverfügbarkeit und Lastverteilung geeignet. Der Hersteller Elastic stellt umfangreiche Dokumentation zu Elasticsearch bereit.

Elasticsearch vs. Solr

Nachdem Solr jahrelang die klar dominierende Open Source Suchtechnologie auf dem Markt war, hat Elasticsearch seit dem Start im Jahr 2010 eine steile Karriere hingelegt und dem konkurrierenden Projekt inzwischen den Rang abgelaufen. Dafür gab es vor allem zwei Gründe: Zum einen war Elasticsearch von Anfang an ganz gezielt auf den Einsatz im Cluster zugeschnitten und damit hervorragend skalierbar, während Solr mit seiner etwas angestaubten Master-Slave-Technologie erst später entsprechend modernisiert wurde (SolrCloud). Zum anderen war Elasticsearch für sehr viele Anwendungsfälle das Mittel der Wahl, da die Suchmaschine grundsätzlich das kompakte und in vielen modernen Web-Applikationen eingesetzte Datenformat JSON verwendet, während die Unterstützung für JSON im ursprünglich XML-basierten Solr erst später nachgerüstet wurde.

Elasticsearch in Onlineshops

Elasticsearch ist die perfekte Suchmaschine für Onlineshops: schnell, skalierbar und hochverfügbar. Kunden erwarten von der Suchfunktion in Onlineshops, dass ihnen passende Suchergebnisse schon während der Eingabe angezeigt werden. Genau das lässt sich mit Elasticsearch schnell und einfach umsetzen. Und wenn das System in einem leistungsfähigen Server-Cluster eingesetzt wird, steht diese Funktionalität auch für Shops mit Millionen von Artikeln und bei Spitzenlasten in atemberaubender Geschwindigkeit zur Verfügung.

Elasticsearch und Magento

Bis vor Kurzem war für den Einsatz von Elasticsearch in Magento eine Extension vonnöten. Aber seit der Version Magento 2.1 unterstützt das System die Suchmaschine bereits out-of-the-box. Gleichwohl genügt es nicht, eine Option im Admin-Panel zu aktivieren, um den Suchservice verfügbar zu machen. Für den Betrieb von Elasticsearch in einer Magento 2.1 Installation bedarf es mindestens dieser Infrastruktur:

  • Für die Arbeit mit Elasticsearch konfigurierte Magento 2.1 (oder höher) Installation
  • Server mit Firewall, SELinux und dem Java Software Development Kit (JDK) mit einer Installation von Elasticsearch (möglichst in der aktuellsten Version 2.x) auf eigenem Host

Die beiden Hosts für Magento und Elasticsearch können sich dabei auf demselben Webserver befinden oder getrennt laufen. So kann Magento auf einem Apache Webserver laufen und Elasticsearch auf Nginx. Beide Installationen können sich in jedem Fall auf einem und demselben Server befinden – oder aber für bessere Lastverteilung in einem Server-Cluster aufgesetzt werden. In der Kommunikation zwischen Shop und Suchserver kommt TLS (Transport Layer Security) zum Einsatz. Detaillierte Informationen zum Einrichten von Elasticsearch in Magento finden sich in den DevDocs von Magento. Und wer Elasticsearch auch in der Layered Navigation einsetzen möchte, kann die Filterung durch diese leistungsfähige Suchtechnologie mithilfe einer Extension umsetzen.

Elasticsearch und Shopware

Auch in Shopware ist die Unterstützung für Elasticsearch mittlerweile (seit Version 5.0) out-of-the-box integriert. Um die Suchmaschine in Shopware nutzen zu können, muss die folgende Infrastruktur bereitstehen:

  • Shopware Installation (mindestens Version 5.0) mit über die config.php aktivierter Elasticsearch Integration
  • Einsatzbereite Installation von Elasticsearch (mindestens Version 2.0) auf eigenem Host

Wie genau die Elasticsearch Installation durchgeführt und konfiguriert sein muss, hängt von den technischen Gegebenheiten und möglicherweise von bestimmten Vorgaben seitens des Hosting-Anbieters ab. Auch für den Betrieb mit Shopware gilt, dass Elasticsearch im Cluster oder auf demselben Server wie der Shop betrieben werden kann. Detaillierte Informationen zum Einrichten von Elasticsearch in Shopware finden sich in der Shopware Developer Documentation.

Newsletter abonnieren

Melden Sie sich für unseren Newsletter an und lassen Sie sich monatlich über unsere neuesten Beiträge informieren!

    Kontakt

    Genug über uns – lassen Sie uns darüber sprechen, wie wir Ihnen helfen können.