Suche findet Artikelnummern neu eingestellter Produkte nicht

Hallo,

irgendwie findet die Suche neueingestellte Produkte anhand der Artikelnummern nicht mehr. Bei älteren Produkten klappt es.

Seltsam ist auch, wenn ich einen Artikel dupliziere, dann findet die Suche den Artikel anhand der Artikelnummer.

Stelle ich einen völlig neuen Artikel ein, dann nicht mehr.

Die Suche anhand des Namens geht aber.

Woran kann das liegen?

Cache Speicher habe ich alle schon geleert.

Ich habe das Problem das bei wenn ich die Artikelnummer eingebe findet, Herstellername oder Produktname findet dieser auch nicht.

Muss gestehen selbst mit der Intiligente Suche klappt dies nicht, die Dokumentation diesbezüglich sehr mangelhaft.

Ist der Artikel denn aktiv? Wurde der Artikel einer Kategorie zugeordnet und besitzt ein Bild?

Mir wurden auch schon Artikel vorenthalten, wenn diese kein “Verfügbar seit”-Datum hatten…

Generell ist mir aufgefallen, dass Suche nach Artikelnummern nur dann zu funktionieren scheint, wenn man die komplette Nummer hat…
Bei Varianten-Artikeln also mit Punkt und nachfolgenden Ziffern.

Der Suchindex wird aber auch recht sporadisch aufgebaut, ggf. Cache nochmal komplett leeren (unter Cache und Performance, nicht nur “Shopcache leeren”).

Ich habe gerade nochmal probiert, echt seltsam.

Gebe ich die Artikelnummer ein, so erhalte ich keine Ergebnisse in der Live Search. Klicke ich dann auf die Lupe, so springt er mir direkt zu dem Artikel.

Die Ajax-Suche hat also die Logik nicht, nur diesen Artikel anzuzeigen, hier greift die normale Suchlogik. Wenn da garkein Artikel gefunden wird, kann es bspw. sein, dass deine Einstellungen nicht passen.

 

Das seltsame ist, dass es seit einiger Zeit nicht mehr geht aber nur für bestimmte Artikel. Also quasi alles was vor 2 Wochen bis jetzt eingestellt wird funktioniert nicht mehr. Artikel die früher eingestellt wurden gibt es keine Probleme. Gibt es irgendwo eine Möglichkeit,dass sich vielleicht der suchindex oder was auch immer nicht mehr aktualisiert?

Kannst du ja theoretisch selbst prüfen unter „Einstellungen->Caches/Performance->Caches/Performance“, dann auf den Tab Einstellungen und Suche.
Hier lässt sich der Such-Index manuell neu aufbauen und steuern, welche Aktualisierungsstrategie angewandt wird.

Das habe ich schon gemacht funktioniert aber auch nicht 

Jetzt habe ich gerade nochmal versucht den Suchindex neu aufzubauen und habe dazu auf manuell gestellt.

Es kommt die Anzeige 100 von 1 Element bearbeiten und das wars, passiert nichts mehr :frowning:

Nun noch weiter geforscht.

Das ist irgendwie ganz seltsam!

Wie es ausschaut, funktioniert die Suche tadellos bei kopierten Artikeln, wo der Ursprungsartikel in der Suche angezeigt wird. Kopiere ich also einen „funktionierenden Artikel“, dann findet Shopware auch den kopierten Artikel.

Lege ich dazu im Gegensatz einen Artikel komplett neu an, dann funktioniert dieser nicht.

Hallo,

ich habe das gleiche Problem:
Seit ca. 4 Tagen kann unter 5.3.3 nicht mehr nach Artikelnummern gesucht werden. In der identischen Testversion unter 5.2.27 funktioniert es einwandfrei. 

Die Neuerstellung des Suchindex geht erstaunlich schnell. Er meldet “1 von 1 Elementen bearbeitet” bei Stapelgröße = 100. Das kann eigentlich nicht sein, wir haben mehrere tausend Artikel.

Unter “Einstellungen / Systeminfo” ist alles grün.

In “Grundeinstellungen / Storefront / Suche” steht der Zeitpunkt meiner letzten Suchindex-Aktualisieriung. 

Bei “Grundeinstellungen / System / CronJobs / Suche” wird überall das Ergebnis “true” ausgegeben, nur bei der Suche (“Shopware_CronJob_Search”) steht “false”.

Puh, jetzt weiß ich auch nicht weiter. Wer möchte mein Wochenende retten? :slight_smile:

Viele Grüße!

Georg

@georgy93‍,

steht bei mir genau wie bei Dir auf " False" aber letzte ausführung war heute 08:00 Uhr also ausgeführt wurde dieser.

Auch ist “bei Fehler Deaktivieren” ist auch an, also gehe ich davon aus das dies wohl nicht damit zu tun hat.

Ich have auch Probleme mit der Suche.

Haben Sie mal versucht über die Konsole aufzubauen mit     „php bin/console sw:refresh:search:index“   ?

Bei mir bricht das ab mit einer lange Liste in rot/weiss von UNION ALLs wie  "SELECT sk.id as keywordID, 3977 as elementID, 5 as fieldID FROM s_search_keywords WHERE sk.keyword IN (‚xxxxxxx‘) wo xxxxxxxx = Artikel Nummer ist. Nach diese Liste kommt SQLSTATE[42000]: Syntax error or access violation: 1064 memory exhausted near ‚sk.id as keywordID, 4828 as elementID, 5 as fieldID FROM s_search_keywords WH‘ at line 15995.

Das ist meiner Meinung nach ein zu langes SQL Befehl (weil es wird auch nach ‚WH‘ vom Wort ‚WHERE‘ abgebrochen, klar das es ein Syntax Fehler ist). Aber ich habe keine Ahnung warum es so lange wird (und warum das System selbst nich nach y UNION ALLs schon nicht mal ein fertiges SQL Befehl abschicken kann).

Und http://community.shopware.com/_detail_1991_795.html  hilft mir auch nicht viel weiter…

1 „Gefällt mir“

Hallo,

danke, das ist ein super Hinweis!

Ich glaube aber nicht, dass der SQL-Befehl bei der Ausführung abgeschnitten wird. Es ist eher so, dass die Meldung nur einen Teil des Befehls ausgibt.

Ich habe nun auch versucht, den Suchindex mit “php bin/console sw:refresh:search:index” neu aufzubauen und bekomme folgende Meldung:

 [Doctrine\DBAL\DBALException] An exception occurred while executing 'INSERT IGNORE INTO s\_search\_index (keywordID, elementID, fieldID) SELECT sk.id as keywordID, 2 as elementID, 5 as fieldID FROM s\_search\_keywords sk WHERE sk.keyword IN ('49401') UNION ALL SELECT sk.id as keywordID, 3 as elementID, 5 as fieldID FROM s\_search\_keywords sk WHERE sk.keyword IN ('49346') UNION ALL SELECT sk.id as keywordID, 4 as elementID, 5 as fieldID FROM s\_search\_keywords sk WHERE sk.keyword IN ('0150') UNION ALL ... ... ... 

 SELECT sk.id as keywordID, 2094 as elementID, 5 as fieldID FROM s\_search\_keywords sk WHERE sk.keyword IN ('62681') UNION ALL SELECT sk.id as keywordID, 2095 as elementID, 5 as fieldID FROM s\_search\_keywords sk WHERE sk.keyword IN ('62691')': SQLSTATE[HY000]: General error: 1436 Thread stack overrun: 246176 bytes used of a 262144 byte stack, and 16000 bytes needed. **Use 'mysqld --thread\_stack=#' to specify a bigger stack.** 

Das würde bedeuten, dass die SQL-Abfrage zu lang wird. Wir haben in den letzten Tagen weitere Artikel erfasst und damit wahrscheinlich nun eine gewisse kritische Menge überschritten.

Lösung 1:
Der Befehl müsste von Shopware in mehrere kleine SQL-Statements aufgeteilt werden.

Lösung 2:
Der Provider muss mehr Speicher bereitstellen.
Bei uns geht das leider nicht mehr mit einem Shared-Hosting-Tarif, wir brauchen einen eigenen Server. :frowning:

Viele Grüße!

Georg

PS: Die “normale” Artikelsuche nach Bezeichnungen, Stichworten, etc. funktioniert einwandfrei. Nur die Suche nach Artikelnummern funktioniert nicht.

Ursache gefunden:

Unser Provider hat heute für kurze Zeit den Wert „thread_stack“ im MySQL  von 262.144 auf 591.872 erhöht. Danach konnte ich den Suchindex über die Konsole problemlos neu erstellen und die Suche hat einwandfrei funktioniert.

Nachdem der Provider den Wert wieder zurückgesetzt hat, funktionierte beides nicht mehr.

Wir haben gut 800 Artikel in verschiedenen Varianten. Anscheinend haben wir mit dieser Shopware-Installation den Shared Server gesprengt, wir müssen offensichtlich auf einen eigenen, managed Server wechseln.

Wir haben jetzt den Befehl über die Konsole auch abgesetzt und keine Fehlermeldung erhalten, ist sauber durchgelaufen.

Leider findet Shopware immer noch nicht die Artikelnummer und in der s_search_keywords finden sich alle Einträge unter soundex mit NULL.

Shopware Version: 5.2.6

Liegt das an der Version? Oder kann ich noch etwas anderes machen?

Warum updatest Du nicht ganz einfach auf die letzte 5.2er 5.2.27? Die läuft wie am Schnürchen. Wink Zu 5.3 würde ich nicht raten, da wurde viel geändert und hat noch zu viele Kinderkrankheiten. 

Das ist hier ein komplizierter Shop mit individual Programmierung wo teilweise keine Doku existiert. Bin da ein bisschen vorsichtig ein Update einzuspielen. Wenn es nicht unbedingt sein muss…

 

@livaro2014 schrieb:

Leider findet Shopware immer noch nicht die Artikelnummer und in der s_search_keywords finden sich alle Einträge unter soundex mit NULL.

Shopware Version: 5.2.6

 

Hallo livaro 2014,

ich finde meine Artikelnummern ebenfalls in der s_search_keywords, die zugehörige ID aber nicht in s_search_index.
Die manuelle Indizierung bringt aber weiterhin Fehler.

Shopware-Version: 5.3.4

es ist doch dann anscheinend eine Serverseitige Problematik siehe Thread oben.

Ich habe das Problem nicht mit 5.3.6

Ich habe auch keinerlei Plugins im Einsatz bezüglich der Suche.

Wer testen will kann das gerne unter.

www.teichpflege.eu

Ich konnte keine Suchfehler erkennen.

Viele Grüße

Matthias