Suche Debuggen

Dein Shop liefert Dir bei der Suche nicht die Ergebnisse, die Du erwartest? Dann bist Du hier genau richtig! Wir werden einige Punkte überprüfen an denen Du schnell feststellen kannst, ob die Shopware Suche auch genau das macht, was Du möchtest.

Bitte beachte, dass die Suche Dir keine Ergebnisse liefern kann, wenn mehr als ≈80 % Deines Artikelstammes als Ergebnis zurückgeliefert werden würde.

Suchindex überprüfen

Zunächst ist hier wichtig festzustellen, ob der Suchindex vollständig aufgebaut wurde. Dies kannst Du am besten direkt in der Datenbank festellen. Gehe hierzu in Deine Datenbank und suche nach der Tabelle s_search_keywords. Befinden Sich hier Einträge für die Spalte "Soundex" mit dem Wet NULL die keine Zahl als Eintrag haben, so ist dies ein Indiz dafür, dass der Suchindex nicht korrekt aufgebaut wurde. ​


Strategie für den Aufbau des Such-Index

Um das beschriebene Verhalten genauer analysieren zu können solltest Du zunächst überprüfen wie der Suchindex in Deinem Shop aufgebaut wird. Hierzu schaust du unter Einstellungen > Cash/Performance > Einstellungen (Reiter)> Suche (Links) was hier als entsprechende Strategie für den Aufbau für den Suchindex ausgewählt ist.

Steht hier für den Aufbau von dem Such-Cache die Option "Live", so generiert diese bei jedem Seitenaufruf im Frontend eine bestimmte Anzahl von Einträgen bzw. überprüft diese auf Aktualität. Dementsprechend wird in Deinem Shop der Such-Index sehr häufig aktualisiert. Gerade da die Intelligente Suche eine "lernende" Suche ist, wären hier einige Suchanfragen notwendig damit optimale Sucherergebnisse geliefert werden können. Während dieser Zeit könnten suboptimale Suchergebnisse auftreten. Die Aktualisierungsstrategie "Live" hat darüber hinaus den Nachteil, dass bei jedem Aufruf im Frontend zusätzliche Serverlast erzeugt wird. In Hinblick auf die Performance ist dieser Einstellung entsprechend nicht empfohlen.

Um dieses Verhalten zu begrenzen, empfehlen wir Dir die Umstellung der Suchstrategie auf "Cronjob". Mit der Nutzung von Cronjobs kannst Du die Last beispielsweise auch gesammelt auf Nachts verschieben.

Sollte auch dies wiedererwartend nicht weiterhelfen, so empfehlen wir Dir, dass Du versuchst den Suchindex über die Konsole aufzubauen: php bin/console sw:refresh:search:index

Bekommst Du hier eine Meldung ähnlich:


 
PHP Fatal error:  Allowed memory size of 536870912 bytes exhausted (tried to allocate 72 bytes)
 

So solltest Du versuchen das memory_limit höher zu setzen. Je nach System funktioniert dies bereits mit folgender Erweiterung von dem CLI Call mit: -d memory_limit=4096M Somit: php -d memory_limit=4096M bin/console sw:refresh:search:index

Wenn sich der Suchindex aufgrund einer Standard Batch-Size von 4000 nicht aufbauen lässt, kannst Du dies schnell und einfach umgehen, indem Du die config.php auf Deinem Server anpasst.

Setze hierfür folgendes in Deine config.php ein:


'search' => [
'indexer' => [
'batchsize' => 3250,
            ],
         ],


Bei weiteren Fragen zu dem memory_limit kannst Du Dich am besten direkt an Deinen Hosting-Partner wenden.

Debuggen mit der Vorschau der Intelligente Suche

Findest Du mit Deiner Suche nicht die gewünschten Ergebnisse, so kannst Du hier am besten die Vorschau der Intelligenten Suche benutzen. Sollten die Informationen der Vorschau mit den Angaben von dem Faktor und der Relevanz Dir nicht die gewünschten Informationen liefern, so kannst Du die Developer Tools von Google Chrome nutzen.

Hier findest Du unter den Network einen List-Eintrag.


 
DeinShop.de/backend/SwagFuzzyPreview/list?_dc=1486566464437&shopId=1&page=1&start=0&limit=20&filter=%5B%7B%22property%22%3A%22search%22%2C%22value%22%3A%22Lachs%22%2C%22operator%22%3Anull%2C%22expression%22%3Anull%7D%5D

Anhand von diesem Eintrag siehst Du schnell was der eigentliche Suchbegriff ist und welche Suchbegriffe gefunden und genutzt werden. Zusätzlich bekommst Du hier eine Übersicht, wieviele Suchbegriffe gefunden wurden. Würdest Du nun hier vermuten dass dein Suchbegriff ziemlich nah an den angegebenen Suchbegriffen ist jedoch trotzdem nicht als Term aufgelistet ist, so solltest Du hier Den Wert "Maximale Anzahl der angezeigten Ergebnisse und der genutzten Keyboards" für die Suche erhöhen. Hier wird festgelegt wie viel abweichende Keyboards zusätzlich für die Suche verwendet werden.

Artikel mit langen Artikelnamen werden nicht gefunden

Hast Du lange Artikelnamen, die Du nicht findest, so kannst Du für diese langen zusammengesetzten Artikelnamen einzelne Keywords anlegen. Zusätzlich sollest Du dann bei den Relevanzen diese für die Keyword erhöhen.

Beispiel: Donaudampfschifffahrtsgesellschaftskapitänsmütze

Keywords: Donau dampf schiff fahrts gesellschaft kapitän mütze Donaudampf schifffahrt gesellschaft kapitänsmütze Donaudampfschifffahrt gesellschaft schifffahrtgesellschaft kapitänsmütze

Suchlogik überprüfen

Findest Du Artikel nicht bei der Nutzung mehrerer Keywords nicht, so kannst Du am besten die verwendete Suchlogik überprüfen.

Diese findest Du unter: Einstellungen > Grundeinstellungen > Storefront > Suche > "Und" Suchlogik verwenden: Nein

Anschließend kannst Du den Such-Index neu aufbauen über: Einstellungen > Cache / Performance > (Reiter) Einstellungen > Suche > Such-Index neu aufbauen .

Wenn dies durchgeführt ist. Leerst Du den Cache (STRG + ALT + X) und lädst das Backend neu (STRG + F5) , danach kannst Du die Suchergebnisse in der Vorschau der Intelligenten Suche neu überprüfen.

Artikelnummern überprüfen

Allgemein ist wichtig bei der Suche darauf zu achten, dass Du korrekte Artikelnummern einsetzt. Hinweise zu den in Shopware unterstützen Artikelnummern findest Du in dem Wiki-Artikel zu Artikelnummern.

Bei mehreren Suchergebnissen wird direkt zu einem Artikel gewechselt.

In diesem Fall wird eine defekte Artikelnummer vorliegen. Hierzu kannst Du am besten in der Datenbank in der Tabelle s_articles_details nachschauen, ob hier ein Artikel vorhanden ist, der keine oder nur 2 Zeichen hat als ordernumber hat.

Allgemeine Fragen zur Einrichtung der Intelligenten Suche

Informationen hierzu findest Du im Wiki Artikel für die Intelligente Suche.

War dieser Artikel hilfreich?