So indizieren Sie Magento 1.x mithilfe der Befehlszeile neu

17

Wie kann ich Magento über die Kommandozeile neu indizieren? Bitte geben Sie die entsprechenden Schritte an.

Martin
quelle
2
Dies ist ein Top-Suchergebnis von Google, aber die Antwort ist für Magento 1.x. Wenn Sie die Antwort für Magento 2.x benötigen, lesen
Scott C Wilson

Antworten:

40
step 1 : cd [MAGENTO_ROOT]/shell/

Sie sollten [MAGENTO_ROOT] durch Ihren eigenen absoluten Pfad zum Magento-Stammordner ersetzen. Zum Beispiel / home / Thief / public_html / Dann liste alle Dateien auf, um zu sehen, was wir hier haben. Geben Sie einfach einen einfachen Befehl ein:

step 2 : ls -l

Wenn Sie so etwas wie 'indexer.php' finden, brauchen wir das und können weitermachen. Um den Status aller Indizes anzuzeigen, können Sie den Befehl ausführen

php indexer.php --status

step 3 : php indexer.php --reindex catalog_product_price 

Hier ist catalog_product_price der Indextyp, den Sie neu erstellen möchten. Sie können next-Argumente für verschiedene Indextypen verwenden:

catalog_product_attribute Product Attributes
catalog_product_price Product Prices
catalog_url Catalog Url Rewrites
catalog_product_flat Product Flat Data
catalog_category_flat Category Flat Data
catalog_category_product Category Products
catalogsearch_fulltext Catalog Search Index
cataloginventory_stock Stock status

Für alle neu indizieren: php indexer.php --reindexall

Neuindizierungsprozess im Hintergrund Manchmal möchten Sie diesen Prozess möglicherweise im Hintergrund ausführen, damit Sie Ihren Computer ausschalten oder einfach nur ein paar Biere trinken können. In diesem Fall können Sie ein Befehlszeilentool namens "nohup" verwenden. Damit können Sie nahezu jeden CLI-Befehl unabhängig von Ihrer aktuellen Sitzung im Hintergrund ausführen. Wenn Sie etwas im Hintergrund neu indizieren möchten, sollte Ihr Befehl folgendermaßen aussehen:

nohup php indexer.php --reindex catalog_product_price &

Weitere Informationen finden Sie unter diesem Link

Prakash Patel
quelle
19

Sie können verwenden

Gehen Sie zum Shell-Ordner und führen Sie diesen Befehl aus

php indexer.php --reindexall

Für getrennt

php yourmagentofolder/shell/indexer.php -reindex catalog_product_attribute
php yourmagentofolder/shell/indexer.php -reindex catalogsearch_fulltext
php yourmagentofolder/shell/indexer.php -reindex catalog_category_flat
php yourmagentofolder/shell/indexer.php -reindex cataloginventory_stock
php yourmagentofolder/shell/indexer.php -reindex catalog_category_product
php yourmagentofolder/shell/indexer.php -reindex catalog_product_price
php yourmagentofolder/shell/indexer.php -reindex tag_summary
php yourmagentofolder/shell/indexer.php -reindex catalog_url
Sagar Dobariya
quelle
9
@vaibhavahalpara, warum zwingst du ihn, die Antwort zu löschen? Jeder kann die Antwort teilen, an die er gedacht hat.
Teja Bhagavan Kollepara
3

Für Magento 2:

Aus dem Magento-Stammverzeichnis unten ausführen

php bin/magento indexer:reindex
Rohith Sathyanarayana
quelle
1

Verwenden Sie diesen Befehl aus dem Stammordner Ihres Projekts, um alle Indizes auszuführen:

php shell/indexer.php --reindexall

Sie können auch einen bestimmten Entitätsindex ausführen, indem Sie im Befehl als Argument Folgendes übergeben:

php shell/indexer.php --reindex <indexer>
Sourabh Kumar Sharma
quelle