Yatego

Die Herausforderung

Wie können wir den Kunden die Suche in 5 Millionen Produkten mit branchenführender Leistung ermöglichen?

Die Lösung

Durch die Nutzung von Elasticsearch, womit die Suchgeschwindigkeit um das Hundertfache gesteigert und 9 Millionen Updates pro Tag in Echtzeit ermöglicht werden.

Ein riesiges Angebot handhaben

  • 5 Millionen Produkte aus 10.000 Shops suchbar machen
  • Bis zu 9 Millionen Produktdaten-Updates täglich verarbeiten
  • Pro Monat 3 Millionen Benutzer bedienen

Wettbewerbsvorteil gewinnen

  • Suchgeschwindigkeit um den Faktor 100 steigern
  • Bessere Ergebnisse schneller liefern

5 Millionen Produkte mit 16 Millionen Varianten suchen

Yatego ist ein deutschsprachiges Online-Einkaufszentrum und umfasst 10.000 Händler, die 5 Millionen Produkte und 16 Millionen Produktvarianten verkaufen. Die Site bedient monatlich 3,4 Millionen einzigartige Besucher aus Deutschland, Österreich und der Schweiz.

„Die Suche ist für unser Geschäft sehr wichtig“, erklärt Thorsten Rinne, Engineering Team Lead bei Yatego. „Wir haben 3 Millionen Suchseiten im Google-Index, die bei Google Deutschland ziemlich hoch bewertet sind. Wenn also ein Benutzer in Google nach einem Produkt sucht, das von einem unserer Händler verkauft wird, erhält er in Google als Ergebnis eine URL für Yatego, die nur den Suchbegriff enthält. Also ist für uns alles eine Suche.“

Vor dem Einsatz von Elasticsearch nutzte Yatego eine MySQL-Textsuche, stellte aber lange Reaktionszeiten, langsame Indexierung und unzuverlässige Suchergebnisse fest. Das Unternehmen suchte nach einer leistungsstärkeren Lösung — und fand Elasticsearch.

„Mit der extrem schnellen Suchmaschine von Elasticsearch haben wir ein Alleinstellungsmerkmal.“

Thorsten Rinne, Engineering Team Lead

Verbesserung der Suchgeschwindigkeit um den Faktor 100

Heute nutzt Yatego Elasticsearch als Hauptsuche der Site auf dem Frontend, damit Kunden Produkte bei Tausenden von Online-Händlern finden können. Die Reaktionszeiten bei Suchanfragen sind nun wesentlich kürzer, was im Online-Shopping für einen essenziellen Vorteil sorgt.

„Bevor wir zu Elasticsearch wechselten, benutzten wir eine etwas veraltete Suche“, erklärt Rinne. „Wenn die Benutzer z. B. nach dem Begriff ,schwarz‘ suchten, dauerte es knapp 45 Sekunden. Jetzt braucht die Suche nach ,schwarz‘ 15 Millisekunden. In diesem Fall ist Elasticsearch 3.000 Mal schneller als unsere vorige Lösung.“

„Das ist ausschlaggebend, weil kein Kunde 45 Sekunden warten wird“, führt er weiter aus. „Er geht dann einfach zu einer anderen Shopping-Website. Kunden warten in der Regel weniger als 3 Sekunden auf die Suche. Jetzt sind wir viel, viel schneller als 3 Sekunden.“

Rinne erklärt, dass die hohe Suchgeschwindigkeit Yatego einen Wettbewerbsvorteil verschafft: „Die meisten Online-Shops in Deutschland basieren auf PHP mit MySQL im Backend, also sind sie etwas langsamer. Mit der extrem schnellen Suchmaschine von Elasticsearch haben wir ein Alleinstellungsmerkmal.“

Die Geschwindigkeit und die erweiterten Suchfähigkeiten von Elasticsearch verbessern auch die Suchergebnisse für Yatego-Benutzer, ein weiterer kritischer Vorteil beim Online-Shopping.

„Die Volltextsuche in unserer vorherigen Lösung war suboptimal“, bestätigt Rinne. „Die gesamte Infrastruktur war kompliziert und wir mussten viele Daten auf unorthodoxe Weise abändern. Elasticsearch hat die Ergebnisse unserer Suchanfragen dramatisch verbessert.“

Zusätzlich hat die Leistung von Elasticsearch den Referrer-Traffic für Yatego von großen Suchmaschinen wie Google Deutschland verbessert. „Da 3 Millionen Seiten von Yatego von Suchmaschinen indexiert sind, bekommt unsere Site viel Traffic von Webcrawlern“, sagte Rinne. „Unser vorheriges Backend konnte der Last nicht standhalten. Mit Elasticsearch ist unsere Leistung jetzt so viel besser, dass die Suchmaschinen schneller mehr Crawler auf unsere Seiten schicken können, sodass die Kunden, die Produkte auf Google und anderen Websites suchen, bessere und frischere Ergebnisse auf Yatego finden.“

Echtzeit-Aktualisierung 9 Millionen Mal täglich

„Unsere Händler sorgen auch für viele Updates bei unseren Daten“, erklärt Rinne. „Wir haben 10.000 Händler und die machen zwischen 5 und 9 Millionen Produkt- und Bestandsaktualisierungen pro Tag.“

Das zeitnahe Aktualisieren von Produktdaten ist sehr wichtig, damit die Kunden sofort Zugang zu neuen Produkten haben. Die Echtzeitaktualisierung der Bestände ist ebenfalls essenziell, damit das System den aktuellen Bestand zeigt. Sonst würden die Kunden Produkte bestellen, die nicht mehr auf Lager sind, was zu Unzufriedenheit und Kundenservice- Problemen führen würde.

„Manchmal brauchten wir vier Stunden, um die Da- ten im Frontend zu aktualisieren“, erinnert sich Rinne. „Mit Elasticsearch dauert es jetzt zwei Minuten. Elasticsearch ist beim Indexieren neuer Daten sehr schnell, und das ist sehr wichtig für uns.“

„Elasticsearch hat die Ergebnisse unserer Suchanfragen dramatisch verbessert.“

Thorsten Rinne, Engineering Team Lead

Mit der Effizienz von Elasticsearch Hardware-Kosten sparen

„Wir planen, uns 2014 zu vergrößern, und Elasticsearch hilft uns bei der Skalierung“, sagt Rinne. „Mit der alten Infrastruktur hatten wir 12 Server. Mit Elasticsearch — das wesentlich schneller als das alte System ist — benötigen wir nur drei Server.“

„Einer der Hauptvorteile von Elasticsearch ist die Reduzierung der Serveranzahl, die wir brauchen, um den Kunden unsere Produkte anzubieten. Und mit der Elasticsearch-Infrastruktur können wir jederzeit neue Server hinzufügen, wenn wir mehr Händler und Kunden bekommen.“

Qualitätssicherung mit Elasticsearch

Die Produktmanagement- und Produktentwicklungsabteilungen bei Yatego nutzen Elasticsearch auch intern zur Qualitätssicherung und zur Verbesserung und Prüfung der Qualität der Produktdaten.

Yatego hat sich auf das Hosting von Händlern kleiner bis mittlerer Größe spezialisiert, von denen viele ihre Daten manuell an Yatego liefern. So kann die Datenqualität je nach Händler stark variieren. Während einige Händler Daten mit sehr hoher Qualität liefern, geben andere Daten ein, die nicht immer akkurat sind. Dann sind zum Beispiel die Lieferzeiten falsch oder es gibt Tippfehler in den Produktbeschreibungen. Mithilfe von Elasticsearch-Facetten kann Yatego die Daten einfach durchsuchen, die Konsistenz prüfen und alle Tippfehler oder sonstige Mängel in den Händlerdaten finden und korrigieren.

„Vor Elasticsearch mussten wir alles manuell prüfen, weil die Suche zu langsam war, um alle Informationen auszugeben“, erinnert sich Rinne. „Wir hatten nicht genug Zeit, um alle ungenauen Daten zu finden, weil die Backend-Engines zu langsam und die Abfragen zu kompliziert waren. Mit Elasticsearch ist es viel einfacher, solche schlechten Daten zu finden. Unsere Händler machen immer noch bis zu 9 Millionen Updates täglich auf Elasticsearch, aber jetzt können wir die Datenintegrität automatisch prüfen.“

Vorteile für Yatego durch Elasticsearch

Wettbewerbsfähige Suchgeschwindigkeit

Im Online-Shopping-Geschäft, wo die Suchleistung über den Absatz entscheidet, hat Elasticsearch die Suchgeschwindigkeit bei Yatego um den Faktor 100 gesteigert.

Verbesserte Google-Suche

Durch die Verbesserung der Suchleistung von Yatego ermöglicht Elasticsearch Google, für die Yatego-Suche mehr Seiten zu crawlen und zu indexieren, was schließlich mehr Kunden bringt.

Schnelle Aktualisierung

Elasticsearch hat die Indexierungszeit von Yatego von 4 Stunden auf 2 Minuten verkürzt und so dafür gesorgt, dass die Händler den Kunden aktuelle Produkt- und Bestandsinformationen präsentieren.

Garantierte Datenqualität

Elasticsearch-Facetten ermöglichen Yatego die Qualitätsprüfung von 9 Millionen Datenänderungen täglich, um die Produktdatenintegrität sicherzustellen.