Индекс поиска по каталогу не меняет статус "требуемый индекс"


Я много раз запускал процесс переиндексации, и система всегда возвращала статус "требуемый индекс". Я безуспешно сокращаю таблицу.

Author: Teja Bhagavan Kollepara, 2013-10-03

2 answers

Проверьте, какие события делают индексы недействительными

Документы Magento показывают события для каждого индекса (см. События, которые запускают переиндексацию):

Далее вы можете добавить некоторый отладочный код в Mage_Index_Model_Resource_Process::updateStatus()

if ($status === Mage_Index_Model_Process::STATUS_REQUIRE_REINDEX) {
    Mage::log(sprintf('Indexer %s was invalidated.', $process->getIndexer()->getName()), null, 'invalid_index.log', true);
    foreach (debug_backtrace() as $db) {
        Mage::log(sprintf('%s::%s', $db['class'], $db['function']), null, 'invalid_index.log', true);
    }
}

Это должно показать вам трассировку стека о том, что делает индексы недействительными. В моем случае это были запросы API 'catalogproductupdate'

Вы также можете проверить исключение.войдите в журнал, если вы обнаружите какие-либо блокировки таблицы "index_process". Этот таблицы содержат данные, которые вы видите в разделе Система > Управление индексами

Кредиты для кода отладки идут здесь

 1
Author: Stefan, 2019-03-08 01:29:25

В случае ошибки при перестроении индекса. Перейдите в свой путь magento var/report, очистите старые ошибки и повторите попытку.

 0
Author: Eduardo Luz, 2013-10-07 20:09:23