Hallo zusammen,
ich weiß, die Frage wurde schon mehrfach gestellt und beantwortet. Das “Wie?” ist auch gar nicht mein Problem, aber ich bekomme es nicht zum Laufen.
Was habe ich gemacht?
In den Einstellungen (Storefront -> Suche) unter Relevanz/Felder den Ean-Code hinzugefügt (Relevanz 50, Tabelle s_article_details)
Was passiert?
Nummernsuche (auch Suche nach Artikelnummer) geht im Anschluss nicht mehr. Auch die EAN Nummern werden nicht gefunden.
Logs?
Ja, habe ich nach geschaut. Fehlermeldung:
[2017-07-07 19:54:39] core.ERROR: PDOException: SQLSTATE[HY000]: General error: 1436 Thread stack overrun: 291220 bytes used of a 307200 byte stack, and 16000 bytes needed. Use 'mysqld --thread_stack=#' to specify a bigger stack.
Im Stack Trace steht eine ellenlange Query, die offenbar ALLE EAN Nummern enthält, die in unserem System vorhanden sind. Macht das denn Sinn? Hier der Anfang:
INSERT IGNORE INTO s_search_index (keywordID, elementID, fieldID) SELECT sk.id as keywordID, 749 as elementID, 5 as fieldID FROM s_search_keywords sk WHERE sk.keyword IN ('38701') UNION ALL SELECT sk.id as keywordID, 749 as elementID, 11 as fieldID FROM s_search_keywords sk WHERE sk.keyword IN ('4020689082698') UNION ALL SELECT sk.id as keywordID, 750 as elementID, 5 as fieldID FROM s_search_keywords sk WHERE sk.keyword IN ('12949', '01') UNION ALL SELECT sk.id as keywordID, 750 as elementID, 11 as fieldID FROM s_search_keywords sk WHERE sk.keyword IN ('4971850795636') UNION ALL SELECT sk.id as keywordID, 751 as elementID, 5 as fieldID FROM s_search_keywords sk WHERE sk.keyword IN ('38716') UNION ALL SELECT sk.id as keywordID, 751 as elementID, 11 as fieldID FROM s_search_keywords sk WHERE sk.keyword IN ('4040066231174') UNION ALL SELECT sk.id as keywordID, 752 as elementID, 5 as fieldID FROM s_search_keywords sk WHERE sk.keyword IN ('5026') UNION ALL SELECT sk.id as keywordID, 753 as elementID, 5 as fieldID FROM s_search_keywords sk WHERE sk.keyword IN ('9129') UNION ALL SELECT sk.id as keywordID, 754 as elementID, 5 as fieldID FROM s_search_keywords sk WHERE sk.keyword IN ('11175') UNION ALL SELECT sk.id as keywordID, 755 as elementID, 5 as fieldID FROM s_search_keywords sk WHERE sk.keyword IN ('12948')
Und so geht es dann kilometerlang weiter.
Und das System?
- SW 5.2.26 Community Edition
- Standard Core-Suche, kein Plugin Intelligente Suche
- PHP7.0
- APC und Zend deaktiviert (kann es daran liegen?)
- Im Hinblick auf die erste Fehlermeldung habe ich den Wert thread_stack in der MySQL erhöhen lassen. Liegt jetzt bei 300K, mehr geht laut Hoster im Hosting nicht
Ich wäre extrem dankbar für Tipps oder Lösungsansätze! Falls weitere Infos benötigt werden, gerne.