Magento 2 Reindexing - один или несколько индексаторов недействительны. Убедитесь, что ваша работа cron Magento запущена

78

Я не мог найти способ сделать переиндексацию в массовых действиях на magento 2.

Похоже, вам нужно запустить его из cronjob. Есть ли альтернативный способ переиндексации данных в magento 2 из бэкэнда или командной строки, как это было в Magento 1.x ( php shell/indexer.php -reindexall)?

введите описание изображения здесь

Харит
источник
извините, но я новичок в Magento. Я установил Magento локально в XAMPP, я использую Windows 7, и я хотел бы спросить, что я могу сделать ?? я получаю то же сообщение,
Alex4842
1
@ Alex4842 то же самое здесь. Запуск Magento на Win 10. Обнаружено это: magento.stackexchange.com/questions/111132/…
Мохаммед Джорайд
Вы можете переиндексировать бэкэнд через это руководство. Mageplaza.com/kb/how-reindex-magento-2.html
Скажи правду

Ответы:

117

Чтобы переиндексировать в magento 2, перейдите в CLI, а затем в корневую папку вашей установки magento и выполните следующую команду:

php bin/magento indexer:reindex

Манашви Бирла
источник
1
Только что разобрался отсюда devdocs.magento.com/guides/v2.0/config-guide/cli/…
Харит
Для тех , кто использует макинтош, они могут изменить каталог для installation_dir / бен и написать эту команду ./magento индексатор :: REINDEX
Харит
2
В нем говорится, что вы можете принять в течение 3 минут xD
Harit
Для cron, см. Также devdocs.magento.com/guides/v2.0/install-gde/install/…
Стив Джонсон
Я получаю ошибку синтаксического анализа в /Applications/MAMP/htdocs/Magento-CE-2.1.2-2016-10-11-11-16-47/vendor/magento/framework/ObjectManager/Factory/AbstractFactory.php в строке 93
Оли Так
22

Запустите эту команду в вашем CLI

php bin / magento indexer: reindex

и если вы хотите переиндексировать только один индексатор, напишите следующую команду:

php bin / magento indexer: переиндексация indexer_name.

где indexer_nameможно найти, набрав следующую команду:

php bin / magento indexer: информация

Mayank
источник
6

Вот как вы можете добиться успеха, используя команды индексирования CLI Magento 2

Перейдите в командный файл CLI Magento, доступный в каталоге Magento / bin cd magento_folder / bin, и запустите вашу команду напрямую, используя magento в терминале или замазке.

Вот как это будет работать для индексации в Magento 2

Получить список доступных индексаторов в Magento 2

php bin / magento indexer: информация

Как проверить статус индексатора

Следующая команда покажет вам статус всех индексаторов, требуется ли индексация или она готова.

php bin / magento indexer: статус

Вы также можете проверить статус отдельного индексатора: скажем, я хочу проверить статус catalog_category_product

php bin / magento indexer: статус каталог_категория_продукт

Как переиндексировать всю доступную индексацию в Magento 2

php bin / magento indexer: reindex

Если вы заполняете лимит памяти, попробуйте эту команду

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

Йогеш Триведи
источник
4

Используйте Magento CLI. Запустить php bin/magento indexer:reindexиз корневого каталога проекта.

Алекс Палиаруш
источник
1

Если какой-либо индекс находится в цикле. Вы можете сбросить все индексы с помощью
indexer:reset
затем использовать обычный переиндекс

Конрад Сиамро
источник
1

Для переиндексации из командной строки выполните следующую команду:

php bin/magento indexer:reindex

Выше команда должна быть запущена из корневого каталога magento

Шешгири Анвекар
источник
1

В корневом интерфейсе командной строки Magento выполните следующую команду

php bin/magento indexer:reset

Затем выполните команду ниже

php bin/magento indexer:reindex
Эджиларасан Дж
источник
0

Альтернативное решение добавить php bin/magento indexer:reindexкоманду в cronjob.

Я следил за этим, и он работал в моей системе

Амит Бера
источник
0

а. Переиндексация от администратора Magento * иногда не все индексаторы переиндексируются с помощью переиндексации администратора> проверьте также переиндексацию через SSH

  1. Перейдите в Система> Управление индексами и проверьте статус индексаторов
  2. Выберите элементы, помеченные как «Требуется переиндексация», и выберите «Действия»> «Обновление по расписанию».

Это вызовет переиндексацию для выбранных индексаторов.

Важно: Иногда не все индексаторы переиндексируются с помощью переиндексации администратора, даже если время и дата отображаются как обновленные в администраторе magento. Мы рекомендуем дважды проверить процесс переиндексации, используя метод переиндексации SSH / CLI, представленный ниже.

Режим переиндексации: Вы можете установить свои индексаторы как «Обновление при сохранении», и объекты хранилища будут индексироваться при сохранении конфигураций администратора или как «Обновление по расписанию», и индексаторы будут реиндексироваться периодически (по умолчанию один раз в день). Чтобы «Обновление по расписанию» работало нормально, убедитесь, что на вашем сервере правильно выполняются задания cron. Ваш хостинг-партнер или команда разработчиков могут помочь вам с настройкой заданий cron.

введите описание изображения здесь

Готово!

б. Переиндексация через SSH / CLI (рекомендуется)

  1. Подключитесь к вашей установке Magento 2 в корне вашего проекта. (обычно в public_html или в yourmagentoinstallation.com/html)

  2. Переиндексировать все индексаторы Magento 2, используя следующую команду:

php bin/magento indexer:reindex

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

Сетка Design Config Grid была успешно перестроена в 00:00:00

Индекс сетки клиентов был успешно перестроен в 00:00:00

Индекс категории товаров был успешно перестроен в 00:00:00

Индекс товарных категорий был успешно перестроен в 00:00:00

Индекс цен на товары был успешно восстановлен в 00:00:01

Индекс EAV продукта был успешно перестроен в 00:00:01

Индекс поиска по каталогу был успешно перестроен в 00:00:01

Фондовый индекс был успешно восстановлен в 00:00:00

Правило каталога Индекс продукта был успешно перестроен в 00:00:01.

Каталог правил продукта каталога был успешно перестроен в 00:00:00

введите описание изображения здесь

  1. Проверьте состояние индексаторов и определите индексаторы, которые по-прежнему необходимо индивидуально переиндексировать, иногда общий переиндекс не работает для всех индексаторов

    php bin/magento indexer:status

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

Сетка Конфигурации Проекта: Готов

Сетка клиента: Готов

Категория Продукты: Готовые

Категории продуктов: Готов

Цена продукта: Готов

Продукт EAV: Готов

Поиск по каталогу: Готов

Готово

Каталог Правило продукта: требуется переиндексация

Каталог Продукт Правило: Готово

введите описание изображения здесь

  1. Показать список индексаторов и соответствующий идентификатор индексатора, которые необходимо использовать для индивидуального переиндексации.

    php bin/magento indexer:info

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

design_config_grid Design Config Grid

customer_grid Customer Grid

catalog_category_product Категория Продукты

catalog_product_category Категории продуктов

catalog_product_price Цена продукта

catalog_product_attribute Продукт EAV

catalogsearch_fulltext Поиск по каталогу

cataloginventory_stock Акции

catalogrule_rule Каталог Правило Продукт

catalogrule_product Каталог Продукт Правило

введите описание изображения здесь

  1. Переиндексировать каждый индексатор, который имеет статус «Требуется переиндексация», используя команды ниже

    php bin/magento indexer:reindex [catalog_category_flat]

Пример: 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. Проверьте еще раз состояние индексаторов, используя команду из шага 2, теперь все индексаторы должны быть «Готовы».

Готово!

mrumair.com
источник
0

Иногда, чтобы сделать это проще, вы можете захотеть переиндексировать напрямую от администратора без участия cron (особенно если вы не настроили свои задания cron и сайт все еще находится в разработке). В таких случаях вы можете использовать бесплатное расширение Admin Reindex [M2], которое позволяет вам переиндексировать от администратора.

hungersoft
источник
0

Вы можете переиндексировать, используя два разных метода.

1- Переиндексация из панели администратора введите описание изображения здесь

Для этого

Перейдите в Система> Инструменты> Управление индексами

Установите флажок рядом с каждым типом индексатора, чтобы изменить

Выберите режим индексирования из выпадающего списка Acton. Нажмите Submit.

2- Переиндексация с использованием CLI (интерфейс командной строки)

Выполните следующую команду в вашем CLI

Bin/magento indexer : reindex [indexer]

Для просмотра списка индексаторов

Запустите следующую команду:

bin/magento indexer : info

Все еще сталкиваясь с любой проблемой / ошибкой, вы можете прочитать эту подробную статью на

Как переиндексировать Magento 2 из панели администратора или SSH / CLI? https://www.fmeextensions.com/blog/magento-2-reindex-from-admin/

Генри Роджер
источник