Die Evolution der Magento-Suche: Warum MySQL ausgedient hat
In den frühen Tagen von Magento 1 und den ersten Versionen von Magento 2 basierte die Suche auf einfachen Datenbankabfragen (SQL). Das funktionierte bei 100 Produkten noch passabel, wurde aber bei steigenden Kataloggrößen zum Performance-Albtraum. SQL-Datenbanken sind darauf optimiert, Daten zu speichern und exakte Beziehungen abzubilden – sie sind jedoch nicht dafür gebaut, riesige Mengen an unstrukturiertem Text in Echtzeit zu durchsuchen, Relevanzen zu gewichten oder Tippfehler zu verzeihen.
Mit der Umstellung auf Elasticsearch (basierend auf der Apache Lucene Library) hat Magento den Schritt in die moderne Ära vollzogen. Elasticsearch ist eine verteilte Such- und Analyse-Engine, die Daten in einem speziellen Index speichert. Stell Dir vor, Du müsstest ein Wort in einem 1.000-seitigen Buch suchen. Die SQL-Suche würde jede Seite einzeln lesen. Elasticsearch hingegen schlägt im Stichwortverzeichnis am Ende des Buches nach – das ist der technologische Quantensprung, den wir für Deinen Shop nutzen.