Как переиндексировать Magento 1.x с помощью командной строки

17

Как я могу переиндексировать magento с помощью командной строки. Просьба предоставить шаги для того же.

Мартин
источник
2
Это лучший результат поиска Google, но ответ для Magento 1.x. Если вам нужен ответ для Magento 2.x, см. Magento.stackexchange.com/questions/90510/…
Скотт Уилсон,

Ответы:

41
step 1 : cd [MAGENTO_ROOT]/shell/

Вам следует заменить [MAGENTO_ROOT] вашим собственным абсолютным путем к корневой папке Magento. Например / home / Thief / public_html / Затем перечислите все файлы, чтобы увидеть, что у нас здесь. Просто введите простую команду:

step 2 : ls -l

Если вы можете найти что-то вроде «indexer.php», это то, что нам нужно, и мы можем продолжать. Чтобы увидеть состояние всех индексов, вы можете выполнить команду

php indexer.php --status

step 3 : php indexer.php --reindex catalog_product_price 

Здесь catalog_product_price - это тип индекса, который вы хотите перестроить. Вы можете использовать следующие аргументы для разных типов индексов:

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

Для всех переиндексаций: php indexer.php --reindexall

Фоновый процесс переиндексации Иногда вам может потребоваться запустить этот процесс в фоновом режиме, чтобы вы могли выключить компьютер или просто выпить пару бутылок пива. В этом случае вы можете использовать инструмент командной строки, который называется nohup. Это позволяет вам запускать практически любую команду CLI в фоновом режиме независимо от текущего сеанса. Если вы хотите переиндексировать что-то в фоновом режиме, ваша команда должна выглядеть так:

nohup php indexer.php --reindex catalog_product_price &

Для получения дополнительной информации обратитесь по этой ссылке

Пракаш Патель
источник
19

Ты можешь использовать

Перейдите в папку оболочки и запустите этот cmd

php indexer.php --reindexall

Для отдельных

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
Сагар Добария
источник
9
@vaibhavahalpara, почему вы заставляете его удалить ответ? Любой может поделиться ответом, который они думают.
Теджа Бхагаван Коллепара
3

Для Magento 2:

Из корневого каталога magento запустите

php bin/magento indexer:reindex
Рохит Сатьянараяна
источник
1

Используйте эту команду из корневой папки вашего проекта, чтобы запустить все индексы:

php shell/indexer.php --reindexall

Вы также можете запустить определенный индекс сущности, передав в качестве аргумента команду:

php shell/indexer.php --reindex <indexer>
Сурабх Кумар Шарма
источник