Hinter den Kulissen

Je genauer man hinschaut, desto schwieriger wird's

Eric Funk
7.2.2019

Jeder weiss: eine funktionierende Suche macht die Orientierung im Internet erst möglich. Auch auf digitec und Galaxus gibt es eine Suche, die intensiv genutzt wird.

Mit mehreren hunderttausend Aufrufen pro Tag ist die Suche eines der meist genutzten Features auf unseren Seiten. Seit etwa einem Jahr entwickeln wir vom Team Endeavour die Suche weiter. Unser Ziel ist es, dir einen komfortablen Zugang zu unseren Inhalten zu bieten.

Am wichtigsten ist natürlich, dass die Suche schnell zum richtigen der unzähligen Produkte führt. Andererseits möchten wir euch auch Produktwissen in Form von Magazin- und Community-Beiträgen zeigen – damit du dich vor dem Kauf informieren kannst.

Aber wie baut man eine gute Suche? Was sind die Stolperfallen? Und welche Probleme müssen wir noch lösen? Für Technik-Interessierte habe ich diesen Beitrag geschrieben, der dir einen Blick in unser Engineering erlaubt.

Solide Daten sind die Basis

Um etwas durchsuchen zu können muss zunächst eine gute Datenbasis geschaffen werden. Ohne sie gibt es auch keine guten Resultate. Das ist leichter gesagt als getan, kombiniert unsere Suche doch weit mehr als nur Produktdaten. Hier kommen schnell Millionen an Inhalten zusammen. Als Nutzer ist dir das egal, du willst einfach passende Resultate übersichtlich auf einer einzigen Ansicht angezeigt bekommen. Und das schnell. Damit das möglich ist, verwenden wir die Open-Source-Suchtechnologie Elasticsearch.

In den letzten Monaten haben wir viel Arbeit in eine neue Architektur gesteckt, bei der fast alle durchsuchbaren Inhalte an unser Suchmodul in der Azure Cloud geschickt und in Elasticsearch abgespeichert werden. Beide Technologien zusammen helfen uns unter anderem, Preisänderungen in Echtzeit auf der Website zu aktualisieren und bei der Skalierung unserer Softwarelösung.

Skalierung wird immer wichtiger, denn einerseits explodiert die Zahl der Informationen regelrecht. Seitdem sich unser Team mit der Suche beschäftigt, hat sich die Datenmenge schon verdreifacht und dieser Prozess wird sich mit der Expansion ins Ausland und der Ausweitung des Sortiments noch beschleunigen.

Geschwindigkeit ist alles

So viel zu sauberen Daten und unserer technologischen Basis. Die nächste und grösste Herausforderung für eine gute Suche ist die Suchabfrage selbst. Die muss nicht nur die relevanten Ergebnisse zeigen sondern auch schnell Resultate liefern – richtig schnell. Wir reden von durchschnittlich 150 Millisekunden.

Jeder Softwareentwickler weiss, dass die Performance nicht zwingend mit der Anzahl der Features steigt. Die Komplexität steigt mit Regeln, die auf die Abfrage angewendet werden. Beispiel: Beliebte Produkte sollen prominenter gezeigt werden als selten gekaufte. Der Name soll höher gewichtet werden als ein zweitrangiges Feature des Produkts. Und das sind jetzt nur zwei offensichtliche Fälle.

Mit der Zahl der Regeln für die Suche steigt auch die Fehleranfälligkeit. Bei Änderungen muss man vorsichtig vorgehen, damit nicht plötzlich unerwartete Resultate auftauchen. A propos Fehleranfälligkeit: Auch wir Menschen sind dagegen bekanntlich nicht gefeit. Beim Tippen schleichen sich immer wieder kleine Fehler ein, die nicht zu einer Verschlechterung der Suchresultate führen sollen.

Wir haben noch viel zu tun

Manchmal arbeiten wir an Dingen, die du gar nicht sehen kannst. Höchstens spüren. Ich meine damit etwa den Umbau der Resultateseite – die nach dem Umbau immer noch genau gleich ausschaut. Unter der Haube arbeitet sie neu mit dem Frontend-Framework React. Das Liveshopping im Onlineshop verwendet heute schon React, der Checkout und andere Seiten folgen. Durch die Konvertierung versprechen wir uns einen besseren User-Flow und Performance im Browser – vor allem auf mobilen Endgeräten. Und langfristig natürlich eine schlankere Code-Basis.

Momentan sind wir im Team Endeavour immer noch dabei, die Komplexität der Suche zu meistern. Wir sind uns bewusst, dass wir bei der Suche noch sehr viel Potential für Verbesserungen haben. Ein Ansatz ist das Machine Learning (ML). Von den grossen Search Engines wie Google werden Suchvorschläge, Korrekturen und Suchtrends schon heute mit Machine Learning umgesetzt. Wir wollen uns dieses Jahr Grundwissen in diesem neuen Thema aneignen und einen ersten Prototyp umsetzen.

Jetzt du!

Die Suche ist eine Applikation, die einfach wirkt, es aber in sich hat. Je tiefer man in das Thema eintaucht, desto komplexer und herausfordernder wird es. Interessiert dich das? Oder kannst du uns gar im Bereich Elastic mit deinem Wissen unterstützen? Rein zufälligerweise suchen wir gerade Verstärkung. Wenn du dich nicht gleich bewerben willst – über Lob und Kritik freuen wir uns auch.

59 Personen gefällt dieser Artikel


Diese Beiträge könnten dich auch interessieren

  • Hinter den Kulissen

    Lego und iPhone: Danach sucht die Kundschaft am häufigsten

    von Manuel Wenk

  • Hinter den Kulissen

    Meine Arbeit ist dann erfolgreich, wenn du sie nicht siehst

    von Stefan Jost

  • Hinter den Kulissen

    Unsere Strategie für mehr Nachhaltigkeit

29 Kommentare

Avatar
later