Magento: Suche mit kurzer Zeichenlänge

1. Juli 2011
by Georg Perrogon

Magento bietet allerhand Einstellungen an, auch für die Produktsuche. So lässt sich die Mindestanzahl der Zeichen festlegen, ab der eine Suche möglich sein soll. Eine Produktsuche nach nur einem Buchstaben macht wohl nur in den wenigsten Fällen einen Sinn.

Anders schaut es hier bei Suchanfragen mit einer Länge von 3 Zeichen aus. Diese können bei manchen Shops schon häufiger auftreten. Nun kann es aber sein, dass trotz richtiger Magentoeinstellung und Vorhandensein mindestens eines passendes Produkts, die Suche bei nur 3 Zeichen zu keinem Ergebnis führt. Daran muss nicht unbedingt Magento schuld sein.

Die Standardeinstellungen eines MySQL-Servers verlangen bei einer Fulltext Suche eine Anfrage mit einer Mindestlänge von 4 Zeichen. Kürzere Anfragen bleiben unbeantwortet. Um dies zu ändern muss man die MySQL config /etc/mysql/my.cnf bearbeitet und die Variable ft_min_word_len hinzugefügt werden, z.B.:

1
2
[mysqld]
ft_min_word_len=3

Nach Neustart des MySQL-Servers kann es notwendig sein, dass in der Datenbank die für die Suche verantwortliche Tabelle gerichtet werden muss:

1
repair table catalogsearch_fulltext quick;

Zu guter Letzt muss noch der Suchindex von Magento neu erstellt werden. Dies kann man gemütlich im Backend erledigen, aber auch über die Konsole gibt ein Skript im Magento-Ordner unter shell:

1
php indexer.php --reindex catalog_category_product

Jetzt sollten auch Suchanfragen mit 3 Zeichen Länge zu Ergebnisse führen.

About

Georg Perrogon ist seit 2010 Mitarbeiter bei der Lorem Ipsum Mediengesellschaft m.b.H. und als Softwareentwickler für die Umsetzung von Anwendungen im internen- und Webbereich zuständig. Folgen Sie ihm via RSS.