Гаразд, No such entity.
звідки з’являється повідомлення про помилку \lib\internal\Magento\Framework\Exception\NoSuchEntityException.php
.
Цей клас є спеціальним класом виключень у Magento, і він багато використовується в Magento 2.
Щоразу, коли ви бачите такий код:
catch (NoSuchEntityException $e)
Або
throw NoSuchEntityException;
Цей клас використовується.
Проблема у вашому випадку полягає в тому, що важко дізнатися, звідки викидається цей виняток.
Отже, щоб трохи звузити його, ви можете почати налагоджувати два класи, пов’язані з вашими індексами, які не вдається:
Magento\Catalog\Model\Indexer\Category\Product
=> Catalog_category_product індекс
Magento\Catalog\Model\Indexer\Product\Category
=> індекс каталогу_продукту_категорії
На щастя, другий розширює перший, так що у вас є одна відправна точка.
Ви повинні мати на увазі, що кожен клас цього індексатора використовує класи рядків дій для обробки повторного деіндексування:
Magento\Catalog\Model\Indexer\Product\Category\Action\Rows
Magento\Catalog\Model\Indexer\Category\Product\Action\Rows
Мені саме тут слід почати налагодження, оскільки ті класи рядків дій є прямими класами, які перевстановлюють ці два індекси.
Я дуже сподіваюся, що це допоможе вам знайти свою проблему.