Como reindexar o Magento 1.x usando a linha de comando

17

Como posso reindexar o magento usando por linha de comando. Por favor, forneça etapas para o mesmo.

Martin
fonte
2
Este é um dos principais resultados de pesquisa do Google, mas a resposta é para o Magento 1.x. Se você precisar a resposta para Magento 2.x, consulte magento.stackexchange.com/questions/90510/...
Scott C Wilson

Respostas:

40
step 1 : cd [MAGENTO_ROOT]/shell/

Você deve substituir [MAGENTO_ROOT] por seu próprio caminho absoluto para a pasta raiz do Magento. Por exemplo / home / Thief / public_html / Em seguida, liste todos os arquivos para ver o que temos aqui. Basta digitar o comando simples:

step 2 : ls -l

Se você pode encontrar algo como 'indexer.php', é disso que precisamos e podemos continuar. Para ver o status de todos os índices, você pode executar o comando

php indexer.php --status

step 3 : php indexer.php --reindex catalog_product_price 

Aqui catalog_product_price é o tipo de índice que você deseja reconstruir. Você pode usar os próximos argumentos para diferentes tipos de índices:

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

Para todas as reindexas: php indexer.php --reindexall

Processo de reindexação em segundo plano Às vezes, você pode executar esse processo em segundo plano para poder desligar o computador ou tomar apenas algumas cervejas. Nesse caso, você pode usar uma ferramenta de linha de comando chamada 'nohup'. Ele permite que você execute praticamente qualquer comando da CLI em segundo plano, independentemente da sua sessão atual. Se você deseja reindexar algo em segundo plano, seu comando deve ficar assim:

nohup php indexer.php --reindex catalog_product_price &

Para mais informações, consulte este link

Prakash Patel
fonte
19

Você pode usar

Vá para a pasta shell e execute este cmd

php indexer.php --reindexall

Para separar

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
fonte
9
@vaibhavahalpara, por que você está forçando-o a excluir a resposta? Qualquer pessoa pode compartilhar a resposta que eles pensavam.
Teja Bhagavan Kollepara
3

Para Magento 2:

No diretório raiz do magento, execute abaixo

php bin/magento indexer:reindex
Rohith Sathyanarayana
fonte
1

Use este comando da pasta raiz do seu projeto para executar todos os índices:

php shell/indexer.php --reindexall

Você também pode executar um índice de entidade específico, passando como argumento no comando como:

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