Wir betreiben einen Magento Shop mit 8k Produkten. Die Kabelindexierung funktioniert nicht. Einige Fehler werfen. Produktflatdatenfehler
%Vor%Katalogsuchindex
%Vor%Beide Indizes werden über die Befehlszeile ausgeführt. Ich habe beide Fehler gegoogelt, aber keine passenden Lösungen gefunden.
Ich hatte das gleiche Problem vor ein paar Tagen.
1 - Bitte machen Sie eine DB-Sicherung
2 - Deaktivieren Sie die Optionen "Flaches Produkt und Kategorie verwenden" in Magento und wechseln Sie den Index-Modus von den Produkt-Flachdaten auf "Manuelle Aktualisierung";
3 - Gehen Sie jetzt in Ihre DB. lösche die catalog_product_flat_xx Tabelle (n);
4 - Sie müssen den Katalog über SSH neu indizieren. Es sollte so aussehen:
%Vor%Magento erstellt für jeden Shop neue Tabellen. Ich könnte eine Weile dauern.
Sobald Sie fertig sind, können Sie die Option Flachprodukte aktivieren und prüfen, ob Magento den Reindex selbst ausführen kann.
Schneiden Sie Product Flat Data ab, und führen Sie dieses Skript erneut aus. Sollte das Problem der Fremdschlüsseleinschränkung sein.
Ich habe diesen Fehler gesehen, als ich manuell versucht habe, Spalten zu ändern, die FK (Relation) zu ihm hatten. Abschneiden flache Indextabellen sollten es verschwinden lassen - versuchen Sie auch, DELETE FROM anstatt TRUNCATE zu verwenden, falls es nicht funktioniert.
Wie viele Attribute werden am Frontend sichtbar gemacht (und zu Flat-Tabellen hinzugefügt)? MySQL hat ein Limit von 64k pro Zeile und es können schlimme Dinge passieren, wenn Sie es kaputt machen (wie beschädigte Tabellen ...)
Der zweite Fehler sieht aus wie ein falsches Cache-Setup (local.xml) oder ein Problem mit den Dateiberechtigungen des var-Ordners.
Ich konnte catalog_product_flat
index process nicht erneut indizieren. Nach einem Tag und versuchen Sie mehrere Lösungen im Internet. Ich konnte das Problem beheben.
Unten sind die Schritte.
catalog_product_flat_1
für einen einzelnen Speicher ab und für mehrere Speicher gibt es mehrere Tabellen catalog_product_flat_*
, wobei *
die Speicher-ID ist. Hier schneiden Sie alle diese Tabelle ab. php document_root/shell/indexer.php --reindex catalog_product_flat
aus oder versuchen Sie es erneut von Admin. php document_root/shell/indexer.php --reindexall
für die Neuindizierung des gesamten Prozesses. Ich hatte das gleiche Problem bei der erneuten Indexierung in der Katalogsuche ... nach 10 Tagen habe ich die Lösung gefunden.
Katalogsuche Indexfehler, den ich bekommen habe:
Ausnahme 'PDOException' mit Nachricht 'SQLSTATE [HY000]: Allgemeiner Fehler: 1785 Wenn @@ GLOBAL.ENFORCE_GTID_CONSISTEN CY = 1, aktualisiert auf Nicht-transaktionale Tabellen können nur in autocommitted durchgeführt werden Statements oder Single-Statement-Transaktionen, und nie in der gleichen Anweisung als Aktualisierung von Transaktionstabellen. '
Die Lösung ist:
catalogsearch_fulltext
catalogsearch_fulltext
table mit der exist-Struktur. Aktualisieren Sie die Tabelle catalogsearch_query
mit der angegebenen Abfrage.
UPDATE catalogsearch_query SET is_processed = 0
Öffnen Sie dann Ihr SSH und führen Sie den Befehl aus, damit es wieder funktioniert:
%Vor%