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?
Antworten:
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:
quelle
Führen Sie diesen Befehl in Ihrer CLI aus
und wenn Sie nur einen Indexer neu indizieren möchten, schreiben Sie den folgenden Befehl:
Wo
indexer_name
finden Sie, indem Sie folgenden Befehl eingeben:quelle
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
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.
Sie können auch den Status einzelner Indexer überprüfen: Angenommen, Sie möchten den Status von catalog_category_product überprüfen
So indizieren Sie alle verfügbaren Indizierungen in Magento 2 neu
Wenn Sie das Speicherlimit ausfüllen, versuchen Sie diesen Befehl
quelle
Verwenden Sie Magento CLI. Führen Sie
php bin/magento indexer:reindex
aus dem Projektstammverzeichnis.quelle
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
quelle
Um von der Eingabeaufforderung aus neu zu indizieren, führen Sie den folgenden Befehl aus:
Der obige Befehl sollte aus dem Magento-Stammverzeichnis ausgeführt werden
quelle
Führen Sie auf der Magento-Root-CLI den folgenden Befehl aus
Führen Sie dann den folgenden Befehl aus
quelle
Alternative Lösung
php bin/magento indexer:reindex
Befehl bei Cronjob hinzufügen .Ich habe dies befolgt und es hat auf meinem System funktioniert
quelle
gelöst mit
php bin/magento indexer:reindex
quelle
ein. Neuindizierung von Magento-Admin * Manchmal werden nicht alle Indexer mit admin reindex neu indiziert
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.
Getan!
b. Neuindizierung über SSH / CLI (empfohlen)
Stellen Sie im Stammverzeichnis Ihres Projekts eine Verbindung zu Ihrer Magento 2-Installation her. (normalerweise in public_html oder unter yourmagentoinstallation.com/html)
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
Ü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
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
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
Getan!
quelle
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.
quelle