Magento 2 Reindexing - один або більше індексів недійсні. Переконайтеся, що ваша робота Magento cron працює


78

Я не міг знайти способу перевтілення в масові акції на magento 2.

Здається, вам потрібно запустити його з кронжоуба. Чи є альтернативний спосіб перевстановити дані в magento 2 з бекенда або командного рядка так, як це було раніше в Magento 1.x ( php shell/indexer.php -reindexall)?

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


вибачте, але я новачок у Магенто. Я встановив Magento локально на XAMPP, я використовую Windows 7, і я хотів би запитати, що я можу зробити ?? я отримую те саме повідомлення,
Alex4842

1
@ Alex4842 те саме. Запуск Magento на Win 10. Знайшов це: magento.stackexchange.com/questions/111132/…
Mohammed Joraid

Відповіді:


117

щоб перевстановити в magento 2, перейдіть до CLI, а потім кореневої папки вашої установки magento та запустіть команду нижче:

php bin/magento indexer:reindex


1
Просто зрозумів, звідси devdocs.magento.com/guides/v2.0/config-guide/cli / ...
Харитина

Для тих, хто використовує mac, вони можуть змінити каталог на install_dir / bin і написати цю команду ./magento indexer :: reindex
Harit

2
Там написано, що ви можете прийняти через 3 хвилини xD
Harit


Я отримую помилку розбору в /Applications/MAMP/htdocs/Magento-CE-2.1.2-2016-10-11-11-16-47/vendor/magento/framework/ObjectManager/Factory/Ab абстрактFactory.php у рядку 93
Олі Тук

22

Виконайте цю команду у своєму CLI

php bin / magento indexer: перевстановити

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

php bin / magento indexer: ім'я індексатора reindex.

де indexer_nameїх можна знайти, ввівши наступну команду:

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


6

Ось як можна виконати справи, використовуючи команди індексації Magento 2 CLI

Зайдіть у свій командний файл Magento CLI, доступний у каталозі Magento / bin cd magento_folder / bin та запустіть команду безпосередньо, використовуючи magento в терміналі чи шпаклівці.

Ось як це буде працювати для індексації в Magento 2

Отримайте список доступних індексаторів у Magento 2

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

Як перевірити стан індексатора

Після виконання команди ви отримаєте статус всього індексатора, незалежно від того, необхідна чи готова індексація.

php bin / magento indexer: стан

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

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

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

php bin / magento indexer: перевстановити

Якщо ви заповнили ліміт пам’яті, спробуйте цю команду

php bin / magento -dmemory_limit = 2G індексатор magento: reindex



1

Якщо будь-який індекс є циклічним, ви можете скинути весь індекс,
indexer:reset
скориставшись звичайним реіндексом


1

Щоб Reindex з командного рядка запустіть нижче команди:

php bin/magento indexer:reindex

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


1

У корені CLI Magento запустіть команду нижче

php bin/magento indexer:reset

Потім запустіть команду нижче

php bin/magento indexer:reindex

0

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

Я стежу за цим, і це працює у моїй системі



0

а. Reindex від Magento admin * іноді не всі індексатори повторно застосовуються за допомогою адміністрування reindex> перевіряємо також повторне встановлення через SSH

  1. Перейдіть до системи> Керування індексами та перевірте стан індексів
  2. Виберіть елементи, позначені як "Reindex потрібно", і перейдіть до пунктів Дії> Оновити за розкладом

Це призведе до повторного вибору для вибраних індексаторів.

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

Рейндекс-режим: Ви можете встановити свої індексатори як "Оновити при збереженні", а об'єкти зберігання будуть індексуватися під час збереження конфігурацій адміністратора або як "Оновлення за графіком", а індексатори будуть повторно додані повторно (за замовчуванням один раз на день). Для того, щоб "Оновлення за графіком" справно працювало, переконайтеся, що ваші завдання Cron працюють належним чином на вашому сервері. Ваш хостинг-партнер або команда розробників може допомогти вам у налаштуванні завдань cron.

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

Готово!

б. Reindex через SSH / CLI (рекомендується)

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

  2. Повторно встановіть всі індексатори Magento 2 за допомогою команди нижче:

php bin/magento indexer:reindex

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

Індекс дизайну 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: готовий

Пошук по каталогу: готовий

Запас: готовий

Продукт правила каталогу: Потрібен Reindex

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

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

  1. Покажіть список індексаторів та відповідний ідентифікатор індексатора, які потрібно використовувати для індивідуального повторного індексування.

    php bin/magento indexer:info

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

design_config_grid Редагувати сітку дизайну

customer_grid Сітка клієнта

Каталог_категорія_продукт Категорія Продукція

каталог_продукт_категорія Категорії товарів

Каталог_продукт_ціна Ціна продукту

catalog_product_attribute Product EAV

searchsearch_fulltext Пошук по каталогу

Запас каталог

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

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

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

  1. Перевстановіть кожен індексатор, який має статус "Reindex потрібно", використовуючи команди нижче

    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, тепер усі індексатори повинні бути готовими.

Готово!


0

Іноді, щоб зробити це просто, ви можете повторно індексувати безпосередньо адміністратора, не включаючи cron (особливо, якщо ви не налаштували свої завдання cron і сайт все ще розробляється). У таких випадках ви можете скористатися безкоштовним розширенням Admin Reindex [M2], що дозволяє перевстановити з адміністратора.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.