Suche funktioniert nicht mehr nach Update auf 5.7.6 - Unknown column 'st1.articleID' in 'field list

Hallo,
nach dem Update auf Version 5.7.6 rödelt die Suche unendlich.
Folgender Fehler wird ausgegeben.
Kann jeman etwas damit anfangen?

An exception occurred while executing ‚SELECT SQL_CALC_FOUND_ROWS product.id as __product_id, variant.id as __variant_id, variant.ordernumber as __variant_ordernumber, searchTable.* FROM s_articles product INNER JOIN s_articles_details variant ON variant.id = product.main_detail_id AND variant.active = 1 AND product.active = 1 LEFT JOIN s_articles_avoid_customergroups avoidCustomerGroup ON avoidCustomerGroup.articleID = product.id AND avoidCustomerGroup.customerGroupId IN (?) INNER JOIN (SELECT a.id as product_id, (sr.relevance + IF(a.topseller = 1, 50, 0) + IF(a.datum >= DATE_SUB(NOW(),INTERVAL 7 DAY), 25, 0)) as ranking FROM (SELECT srd.articleID, SUM(srd.relevance) as relevance, COUNT(DISTINCT term) as termCount FROM ( SELECT MAX(sf.relevance * sm.relevance) as relevance, sm.keywordID, term, st1.articleID as articleID FROM (SELECT 100 as relevance, ‚ternos‘ as term, 41502 as keywordID UNION ALL SELECT 100 as relevance, ‚ternos‘ as term, 41502 as keywordID) sm INNER JOIN s_search_index si ON sm.keywordID = si.keywordID INNER JOIN s_search_fields sf ON si.fieldID = sf.id AND sf.relevance != 0 AND sf.tableID = 1 INNER JOIN s_articles st1 ON si.elementID = st1.id GROUP BY articleID, sm.term, sf.id UNION ALL SELECT MAX(sf.relevance * sm.relevance) as relevance, sm.keywordID, term, st2.articleID as articleID FROM (SELECT 100 as relevance, ‚ternos‘ as term, 41502 as keywordID UNION ALL SELECT 100 as relevance, ‚ternos‘ as term, 41502 as keywordID) sm INNER JOIN s_search_index si ON sm.keywordID = si.keywordID INNER JOIN s_search_fields sf ON si.fieldID = sf.id AND sf.relevance != 0 AND sf.tableID = 2 INNER JOIN s_articles_categories st2 ON si.elementID = st2.categoryID GROUP BY articleID, sm.term, sf.id UNION ALL SELECT MAX(sf.relevance * sm.relevance) as relevance, sm.keywordID, term, st3.id as articleID FROM (SELECT 100 as relevance, ‚ternos‘ as term, 41502 as keywordID UNION ALL SELECT 100 as relevance, ‚ternos‘ as term, 41502 as keywordID) sm INNER JOIN s_search_index si ON sm.keywordID = si.keywordID INNER JOIN s_search_fields sf ON si.fieldID = sf.id AND sf.relevance != 0 AND sf.tableID = 3 INNER JOIN s_articles st3 ON si.elementID = st3.supplierID GROUP BY articleID, sm.term, sf.id UNION ALL SELECT MAX(sf.relevance * sm.relevance) as relevance, sm.keywordID, term, st4.articleID as articleID FROM (SELECT 100 as relevance, ‚ternos‘ as term, 41502 as keywordID UNION ALL SELECT 100 as relevance, ‚ternos‘ as term, 41502 as keywordID) sm INNER JOIN s_search_index si ON sm.keywordID = si.keywordID INNER JOIN s_search_fields sf ON si.fieldID = sf.id AND sf.relevance != 0 AND sf.tableID = 4 INNER JOIN s_articles_details st4 ON si.elementID = st4.id GROUP BY articleID, sm.term, sf.id UNION ALL SELECT MAX(sf.relevance * sm.relevance) as relevance, sm.keywordID, term, si.elementID as articleID FROM (SELECT 100 as relevance, ‚ternos‘ as term, 41502 as keywordID UNION ALL SELECT 100 as relevance, ‚ternos‘ as term, 41502 as keywordID) sm INNER JOIN s_search_index si ON sm.keywordID = si.keywordID INNER JOIN s_search_fields sf ON si.fieldID = sf.id AND sf.relevance != 0 AND sf.tableID = 5 GROUP BY articleID, sm.term, sf.id) srd GROUP BY srd.articleID ORDER BY relevance DESC LIMIT 5000) sr INNER JOIN s_articles a ON a.id = sr.articleID AND a.active = 1 WHERE (sr.relevance + IF(a.topseller = 1, 50, 0) + IF(a.datum >= DATE_SUB(NOW(),INTERVAL 7 DAY), 25, 0)) > (SELECT MAX(sr.relevance + IF(a.topseller = 1, 50, 0) + IF(a.datum >= DATE_SUB(NOW(),INTERVAL 7 DAY), 25, 0)) / 100 * 20 FROM (SELECT srd.articleID, SUM(srd.relevance) as relevance, COUNT(DISTINCT term) as termCount FROM ( SELECT MAX(sf.relevance * sm.relevance) as relevance, sm.keywordID, term, st1.articleID as articleID FROM (SELECT 100 as relevance, ‚ternos‘ as term, 41502 as keywordID UNION ALL SELECT 100 as relevance, ‚ternos‘ as term, 41502 as keywordID) sm INNER JOIN s_search_index si ON sm.keywordID = si.keywordID INNER JOIN s_search_fields sf ON si.fieldID = sf.id AND sf.relevance != 0 AND sf.tableID = 1 INNER JOIN s_articles st1 ON si.elementID = st1.id GROUP BY articleID, sm.term, sf.id UNION ALL SELECT MAX(sf.relevance * sm.relevance) as relevance, sm.keywordID, term, st2.articleID as articleID FROM (SELECT 100 as relevance, ‚ternos‘ as term, 41502 as keywordID UNION ALL SELECT 100 as relevance, ‚ternos‘ as term, 41502 as keywordID) sm INNER JOIN s_search_index si ON sm.keywordID = si.keywordID INNER JOIN s_search_fields sf ON si.fieldID = sf.id AND sf.relevance != 0 AND sf.tableID = 2 INNER JOIN s_articles_categories st2 ON si.elementID = st2.categoryID GROUP BY articleID, sm.term, sf.id UNION ALL SELECT MAX(sf.relevance * sm.relevance) as relevance, sm.keywordID, term, st3.id as articleID FROM (SELECT 100 as relevance, ‚ternos‘ as term, 41502 as keywordID UNION ALL SELECT 100 as relevance, ‚ternos‘ as term, 41502 as keywordID) sm INNER JOIN s_search_index si ON sm.keywordID = si.keywordID INNER JOIN s_search_fields sf ON si.fieldID = sf.id AND sf.relevance != 0 AND sf.tableID = 3 INNER JOIN s_articles st3 ON si.elementID = st3.supplierID GROUP BY articleID, sm.term, sf.id UNION ALL SELECT MAX(sf.relevance * sm.relevance) as relevance, sm.keywordID, term, st4.articleID as articleID FROM (SELECT 100 as relevance, ‚ternos‘ as term, 41502 as keywordID UNION ALL SELECT 100 as relevance, ‚ternos‘ as term, 41502 as keywordID) sm INNER JOIN s_search_index si ON sm.keywordID = si.keywordID INNER JOIN s_search_fields sf ON si.fieldID = sf.id AND sf.relevance != 0 AND sf.tableID = 4 INNER JOIN s_articles_details st4 ON si.elementID = st4.id GROUP BY articleID, sm.term, sf.id UNION ALL SELECT MAX(sf.relevance * sm.relevance) as relevance, sm.keywordID, term, si.elementID as articleID FROM (SELECT 100 as relevance, ‚ternos‘ as term, 41502 as keywordID UNION ALL SELECT 100 as relevance, ‚ternos‘ as term, 41502 as keywordID) sm INNER JOIN s_search_index si ON sm.keywordID = si.keywordID INNER JOIN s_search_fields sf ON si.fieldID = sf.id AND sf.relevance != 0 AND sf.tableID = 5 GROUP BY articleID, sm.term, sf.id) srd GROUP BY srd.articleID ORDER BY relevance DESC LIMIT 5000) sr INNER JOIN s_articles a ON a.id = sr.articleID AND a.active = 1)) searchTable ON searchTable.product_id = product.id INNER JOIN s_articles_categories_ro productCategory ON productCategory.articleID = product.id AND productCategory.categoryID IN (?) INNER JOIN s_articles_attributes productAttribute ON productAttribute.articledetailsID = variant.id WHERE avoidCustomerGroup.articleID IS NULL GROUP BY product.id ORDER BY searchTable.ranking DESC, variant.id ASC LIMIT 6‘ with params [1, 3]: SQLSTATE[42S22]: Column not found: 1054 Unknown column ‚st1.articleID‘ in ‚field list‘ in /vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/AbstractMySQLDriver.php on line 79

Stack trace:

#0 /vendor/doctrine/dbal/lib/Doctrine/DBAL/DBALException.php(182): Doctrine\DBAL\Driver\AbstractMySQLDriver->convertException(‚An exception oc…‘, Object(Doctrine\DBAL\Driver\PDO\Exception)) #1 /vendor/doctrine/dbal/lib/Doctrine/DBAL/DBALException.php(159): Doctrine\DBAL\DBALException::wrapException(Object(Doctrine\DBAL\Driver\PDO\MySQL\Driver), Object(Doctrine\DBAL\Driver\PDO\Exception), ‚An exception oc…‘) #2 /vendor/doctrine/dbal/lib/Doctrine/DBAL/Connection.php(2225): Doctrine\DBAL\DBALException::driverExceptionDuringQuery(Object(Doctrine\DBAL\Driver\PDO\MySQL\Driver), Object(Doctrine\DBAL\Driver\PDO\Exception), ‚SELECT SQL_CALC…‘, Array) #3/vendor/doctrine/dbal/lib/Doctrine/DBAL/Connection.php(1312): Doctrine\DBAL\Connection->handleExceptionDuringQuery(Object(Doctrine\DBAL\Driver\PDO\Exception), ‚SELECT SQL_CALC…‘, Array, Array) #4 /vendor/doctrine/dbal/lib/Doctrine/DBAL/Query/QueryBuilder.php(212): Doctrine\DBAL\Connection->executeQuery(‚SELECT SQL_CALC…‘, Array, Array) #5 /engine/Shopware/Bundle/SearchBundleDBAL/ProductNumberSearch.php(102): Doctrine\DBAL\Query\QueryBuilder->execute() #6 /engine/Shopware/Bundle/SearchBundleDBAL/ProductNumberSearch.php(84): Shopware\Bundle\SearchBundleDBAL\ProductNumberSearch->getProducts(Object(Shopware\Bundle\SearchBundleDBAL\QueryBuilder)) #7 /engine/Shopware/Bundle/SearchBundle/ProductSearch.php(59): Shopware\Bundle\SearchBundleDBAL\ProductNumberSearch->search(Object(Shopware\Bundle\SearchBundle\Criteria), Object(Shopware\Bundle\StoreFrontBundle\Struct\ShopContext)) #8/engine/Shopware/Bundle/SearchBundle/VariantSearch.php(66): Shopware\Bundle\SearchBundle\ProductSearch->search(Object(Shopware\Bundle\SearchBundle\Criteria), Object(Shopware\Bundle\StoreFrontBundle\Struct\ShopContext)) #9 /engine/Shopware/Controllers/Frontend/AjaxSearch.php(130): Shopware\Bundle\SearchBundle\VariantSearch->search(Object(Shopware\Bundle\SearchBundle\Criteria), Object(Shopware\Bundle\StoreFrontBundle\Struct\ShopContext)) #10 /engine/Shopware/Controllers/Frontend/AjaxSearch.php(60): Shopware_Controllers_Frontend_AjaxSearch->search(‚ternos‘, Object(Shopware\Bundle\SearchBundle\Criteria), Object(Shopware\Bundle\StoreFrontBundle\Struct\ShopContext)) #11 /engine/Library/Enlight/Controller/Action.php(182): Shopware_Controllers_Frontend_AjaxSearch->indexAction() #12 /engine/Library/Enlight/Controller/Dispatcher/Default.php(461): Enlight_Controller_Action->dispatch(‚indexAction‘) #13 /engine/Library/Enlight/Controller/Front.php(225): Enlight_Controller_Dispatcher_Default->dispatch(Object(Enlight_Controller_Request_RequestHttp), Object(Enlight_Controller_Response_ResponseHttp)) #14 /engine/Shopware/Kernel.php(197): Enlight_Controller_Front->dispatch() #15 /vendor/symfony/http-kernel/HttpCache/SubRequestHandler.php(85): Shopware\Kernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true) #16 /vendor/symfony/http-kernel/HttpCache/HttpCache.php(479): Symfony\Component\HttpKernel\HttpCache\SubRequestHandler::handle(Object(Shopware\Kernel), Object(Symfony\Component\HttpFoundation\Request), 1, true) #17 /engine/Shopware/Components/HttpCache/AppCache.php(262): Symfony\Component\HttpKernel\HttpCache\HttpCache->forward(Object(Symfony\Component\HttpFoundation\Request), true, NULL) #18 /vendor/symfony/http-kernel/HttpCache/HttpCache.php(452): Shopware\Components\HttpCache\AppCache->forward(Object(Symfony\Component\HttpFoundation\Request), true) #19 /vendor/symfony/http-kernel/HttpCache/HttpCache.php(346): Symfony\Component\HttpKernel\HttpCache\HttpCache->fetch(Object(Symfony\Component\HttpFoundation\Request), true) #20 /engine/Shopware/Components/HttpCache/AppCache.php(189): Symfony\Component\HttpKernel\HttpCache\HttpCache->lookup(Object(Symfony\Component\HttpFoundation\Request), true) #21 /vendor/symfony/http-kernel/HttpCache/HttpCache.php(224): Shopware\Components\HttpCache\AppCache->lookup(Object(Symfony\Component\HttpFoundation\Request), true) #22/engine/Shopware/Components/HttpCache/AppCache.php(114): Symfony\Component\HttpKernel\HttpCache\HttpCache->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true) #23/shopware.php(122): Shopware\Components\HttpCache\AppCache->handle(Object(Symfony\Component\HttpFoundation\Request))

Über jeden Hinweis bin ich dankbar!

Hm, entweder etwas falsch eingestellt (Suchoptionen, Relevanzen) oder ein Plugin macht diesen Effekt. Fehler kommt daher, weil es in der Tabelle „s_articles“ keine Spalte „articleID“ gibt, aber dieses Query das abfragen will.

Mmh an den Suchoptionen haben wir nichts geändert. Vor dem Update lief alles einwandfrei.

Vielleicht noch mal alles kontrollieren und ggf. einfach noch mal speichern. Fakt ist jedoch, dass das Query hier nicht mehr stimmt. Mehr fällt mir zur Stunde dazu nicht ein.

Ich habe alles noch einmal gespeichert. Nun scheint es wieder zu gehen. Danke!

Da scheint doch noch etwas schief zu laufen. Die Suchvorschau funktioniert aber die Suchergebnisseite wird auf die Starseite weitergeleitet.
/search?sSearch=hallo → Startseite, keine Suchergebnisse.

Hat da noch jemand eine Idee?

/search ist die Suchergebnis-Seite
Welche Einstellunge hat denn deine Suche?

Das sind die Standardeinstellungen von Shopware. Ich denke, da wurde nie etwas geändert.
Minimale Suchwortlänge: 3
Faktor für genaue Treffer: 100
Faktor für unscharfe Treffer: 5
Minimale Relevanz zum Topartikel: 20
Maximal-Distanz: 25
Faktor für Teiltreffer: 50
Nummer Suche aktiviert
Und Suchlogik deaktiviert

Relevanz/Felder:
Artikelname 400 name s_articles
und weitere - da wurde nie etwas geändert

Würde ja bedeuten das der Shop plötzlich den Controller nicht mehr findet. Normal ist das nicht. Kann ich so nicht deuten. Vielleicht mal alle Logs (Shopware und Server!!!) durchsuchen ob dort noch relevante Info stehen, die durch die Suche ausgelöst werden.

Ich habe die Lösung gefunden.
Es lang an den rewrite urls. Ich musste einen Blogbeitrag, der das Wort Searching im Titel hatte, komplett löschen und alle zugehörigen URLs in der Tabelle s_core_rewrite_urls. Nun funktioniert die Suchergebnisseite wieder. Shopware kam da anscheinend mit den Slugs durcheinander??!!!
Danke an alle!

Klingt wie der gleiche Krampf mit dem Merkzettel, wenn ein Url in irgendeiner Form „note“ enthält.

1 „Gefällt mir“

Daran hätte ich jetzt nicht gedacht! Scheint vermutlich bei Shopware so nicht getestet worden zu sein.