Magento 2 Reindexing - Ein oder mehrere Indexer sind ungültig. Stellen Sie sicher, dass Ihr Magento-Cron-Job ausgeführt wird


78

Ich konnte keine Möglichkeit finden, in Massenaktionen auf Magento 2 eine Neuindizierung durchzuführen.

Scheint, als müsst ihr es von Cronjob ausführen. Gibt es eine alternative Möglichkeit, Daten in Magento 2 über das Backend oder die Befehlszeile neu zu indizieren, so wie es früher in Magento 1.x ( php shell/indexer.php -reindexall) war?

Bildbeschreibung hier eingeben


Entschuldigung, aber ich bin neu in Magento. Ich habe Magento lokal auf XAMPP installiert, verwende Windows 7 und möchte fragen, was ich tun kann? Ich bekomme die gleiche Nachricht,
Alex4842

1
@ Alex4842 dasselbe hier. Ausführen von Magento auf Win 10. Gefunden: magento.stackexchange.com/questions/111132/…
Mohammed Joraid

Sie können im Backend über diese Anleitung neu indizieren. Mageplaza.com/kb/how-reindex-magento-2.html
Say Truth

Antworten:


117

Um in Magento 2 neu zu indizieren, gehen Sie zur CLI und dann in den Stammordner Ihrer Magento-Installation und führen Sie den folgenden Befehl aus:

php bin/magento indexer:reindex



Wenn Sie einen Mac verwenden, können Sie das Verzeichnis in Installationsverzeichnis / bin ändern und diesen Befehl eingeben ./magento indexer :: reindex
Harit

2
Es heißt, Sie können in 3 Minuten xD akzeptieren
Harit


Ich erhalte einen Analysefehler in /Applications/MAMP/htdocs/Magento-CE-2.1.2-2016-10-11-16-47/vendor/magento/framework/ObjectManager/Factory/AbstractFactory.php in Zeile 93
Oli Tuck

22

Führen Sie diesen Befehl in Ihrer CLI aus

php bin / magento indexer: reindex

und wenn Sie nur einen Indexer neu indizieren möchten, schreiben Sie den folgenden Befehl:

PHP bin / magento indexer: reindex indexer_name.

Wo indexer_namefinden Sie, indem Sie folgenden Befehl eingeben:

PHP Bin / Magento Indexer: Info


6

Mit den Magento 2 CLI-Indizierungsbefehlen können Sie wie folgt vorgehen

Gehen Sie in Ihre Magento CLI-Befehlsdatei, die im Magento / bin-Verzeichnis cd magento_folder / bin verfügbar ist, und führen Sie Ihre Kommandozeile direkt mit Magento in Terminal oder Putty aus.

So funktioniert es bei der Indizierung in Magento 2

Liste der verfügbaren Indexer in Magento 2 abrufen

PHP Bin / Magento Indexer: Info

So überprüfen Sie den Status des Indexers

Mit dem folgenden Befehl erhalten Sie den Status aller Indexer, unabhängig davon, ob eine Indexierung erforderlich oder bereit ist.

PHP Bin / Magento Indexer: Status

Sie können auch den Status einzelner Indexer überprüfen: Angenommen, Sie möchten den Status von catalog_category_product überprüfen

php bin / magento indexer: status catalog_category_product

So indizieren Sie alle verfügbaren Indizierungen in Magento 2 neu

php bin / magento indexer: reindex

Wenn Sie das Speicherlimit ausfüllen, versuchen Sie diesen Befehl

php bin / magento -dmemory_limit = 2G magento indexer: reindex


4

Verwenden Sie Magento CLI. Führen Sie php bin/magento indexer:reindexaus dem Projektstammverzeichnis.


1

Wenn sich ein Index in einer Schleife befindet Sie können den gesamten Index mit zurücksetzen, indem Sie
indexer:reset
den normalen Neuindex verwenden


1

Um von der Eingabeaufforderung aus neu zu indizieren, führen Sie den folgenden Befehl aus:

php bin/magento indexer:reindex

Der obige Befehl sollte aus dem Magento-Stammverzeichnis ausgeführt werden


1

Führen Sie auf der Magento-Root-CLI den folgenden Befehl aus

php bin/magento indexer:reset

Führen Sie dann den folgenden Befehl aus

php bin/magento indexer:reindex

0

Alternative Lösung php bin/magento indexer:reindexBefehl bei Cronjob hinzufügen .

Ich habe dies befolgt und es hat auf meinem System funktioniert


0

gelöst mit php bin/magento indexer:reindex


0

ein. Neuindizierung von Magento-Admin * Manchmal werden nicht alle Indexer mit admin reindex neu indiziert

  1. Gehen Sie zu System> Indexverwaltung und überprüfen Sie den Status der Indexer
  2. Wählen Sie die Elemente aus, die als "Neu indizieren erforderlich" markiert sind, und gehen Sie zu Aktionen> Nach Zeitplan aktualisieren

Dies löst eine Neuindizierung für ausgewählte Indexer aus.

Wichtig: Manchmal werden nicht alle Indexer mit admin reindex neu indiziert, auch wenn Uhrzeit und Datum in magento admin als aktualisiert angezeigt werden. Es wird empfohlen, den Neuindexierungsprozess mit der unten dargestellten SSH / CLI-Neuindexierungsmethode zu überprüfen.

Neuindizierungsmodus: Sie können Ihre Indexer auf "Beim Speichern aktualisieren" einstellen, und Speicherentitäten werden beim Speichern von Administratorkonfigurationen oder als "Nach Zeitplan aktualisieren" indiziert, und die Indexer werden wiederholt neu indiziert (Standardeinstellung einmal pro Tag). Stellen Sie sicher, dass Ihre Cron-Jobs auf Ihrem Server ordnungsgemäß ausgeführt werden, damit "Update by Schedule" ordnungsgemäß funktioniert. Ihr Hosting-Partner oder Ihr Entwicklungsteam kann Ihnen bei der Konfiguration von Cron-Jobs helfen.

Bildbeschreibung hier eingeben

Getan!

b. Neuindizierung über SSH / CLI (empfohlen)

  1. Stellen Sie im Stammverzeichnis Ihres Projekts eine Verbindung zu Ihrer Magento 2-Installation her. (normalerweise in public_html oder unter yourmagentoinstallation.com/html)

  2. Indizieren Sie alle Magento 2-Indexer mit dem folgenden Befehl neu:

php bin/magento indexer:reindex

Sie erhalten ein ähnliches Ergebnis wie unten dargestellt:

Der Design Config Grid-Index wurde in 00:00:00 erfolgreich neu erstellt

Der Kunden-Grid-Index wurde in 00:00:00 erfolgreich neu erstellt

Der Kategorie-Produktindex wurde in 00:00:00 erfolgreich neu erstellt

Der Produktkategorienindex wurde in 00:00:00 erfolgreich neu erstellt

Der Produktpreisindex wurde in 00:00:01 erfolgreich neu erstellt

Der Product EAV-Index wurde in 00:00:01 erfolgreich neu erstellt

Der Katalogsuchindex wurde in 00:00:01 erfolgreich neu erstellt

Aktienindex wurde erfolgreich in 00:00:00 neu aufgebaut

Katalogregel Produktindex wurde in 00:00:01 erfolgreich neu erstellt

Der Index der Katalogproduktregeln wurde in 00:00:00 erfolgreich neu erstellt

Bildbeschreibung hier eingeben

  1. Überprüfen Sie den Status der Indexer und identifizieren Sie Indexer, die noch einzeln neu indiziert werden müssen. Manchmal funktioniert die allgemeine Neuindizierung nicht für alle Indexer

    php bin/magento indexer:status

Sie erhalten ein ähnliches Ergebnis wie unten dargestellt:

Design Config Grid: Fertig

Kundenraster: Fertig

Kategorie Produkte: Fertig

Produktkategorien: Fertig

Produktpreis: Fertig

Produkt EAV: Fertig

Katalogsuche: Fertig

Vorrat: Fertig

Katalogregelprodukt: Neuindexierung erforderlich

Katalogproduktregel: Fertig

Bildbeschreibung hier eingeben

  1. Zeigen Sie die Liste der Indexer und der entsprechenden Indexer-ID an, die für die individuelle Neuindexierung verwendet werden müssen.

    php bin/magento indexer:info

Sie erhalten ein ähnliches Ergebnis wie unten dargestellt:

design_config_grid Design Config Grid

customer_grid Kundenraster

catalog_category_product Kategorie Produkte

catalog_product_category Produktkategorien

catalog_product_price Produktpreis

catalog_product_attribute Product EAV

catalogsearch_fulltext Katalogsuche

cataloginventory_stock Aktie

catalogrule_rule Katalogregelprodukt

catalogrule_product Catalogue Product Rule

Bildbeschreibung hier eingeben

  1. Indizieren Sie jeden Indexer mit dem Status "Neu indizieren erforderlich" mithilfe der folgenden Befehle neu

    php bin/magento indexer:reindex [catalog_category_flat]

Beispiel: php bin/magento indexer:reindex catalogrule_rule

php bin/magento indexer:reindex design_config_grid customer_grid
php bin/magento indexer:reindex catalog_category_product
php bin/magento indexer:reindex catalog_product_category
php bin/magento indexer:reindex catalog_product_price
php bin/magento indexer:reindex catalog_product_attribute
php bin/magento indexer:reindex catalogsearch_fulltext
php bin/magento indexer:reindex cataloginventory_stock
php bin/magento indexer:reindex catalogrule_rule
php bin/magento indexer:reindex catalogrule_product
  1. Überprüfen Sie den Status der Indexer erneut mit dem Befehl aus Schritt 2. Jetzt sollten alle Indexer "Bereit" sein.

Getan!


0

Manchmal möchten Sie es einfach machen, indem Sie direkt vom Administrator aus eine Neuindizierung vornehmen, ohne cron einzubeziehen (insbesondere, wenn Sie Ihre cron-Jobs nicht eingerichtet haben und sich die Site noch in der Entwicklung befindet). In solchen Fällen können Sie die kostenlose Erweiterung Admin Reindex [M2] verwenden , mit der Sie den Administrator erneut indizieren können.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.