Я искал какое-то время, а затем this ответ даже посмотрел на сценарий индексатора оболочки, и я пришел с этим. В принципе, у меня естьMagento правильно переиндексировать все
$processes = Mage::getSingleton('index/indexer')->getProcessesCollection();
$processes->walk('setMode', array(Mage_Index_Model_Process::MODE_MANUAL));
$processes->walk('save');
// Importing data here...
Mage::getModel('catalog/product_image')->clearCache();
// rebuild everything!!!
$processes = Mage::getSingleton('index/indexer')->getProcessesCollection();
$processes->walk('reindexEverything');
$processes->walk('setMode', array(Mage_Index_Model_Process::MODE_REAL_TIME));
$processes->walk('save');
Но я все еще получаю этот экран в моем внутреннем интерфейсе
... Как "обновить" индексы?
** UPDATE **
Проблема решена!
Чтобы правильно проиндексировать все, просто позвоните всем!
// rebuild everything!!!
$processes = Mage::getSingleton('index/indexer')->getProcessesCollection();
$processes->walk('setMode', array(Mage_Index_Model_Process::MODE_REAL_TIME));
$processes->walk('save');
$processes->walk('reindexAll');
$processes->walk('reindexEverything');
посмотрите на indexer.php и, пожалуйста, скажите мне, что есть в нем, что я не в моем коде? Это то, что я хочу знать; почему я не могу повторно индексировать все правильно в моем собственном сценарии? –
OK Я вижу ... хм Вы видели этот ответ? http://stackoverflow.com/a/4343900/634843 Вы пытались использовать reindexAll() вместо reindexEverything()? – djdy
Да, я попробовал оба. И, честно говоря, я понятия не имею, в чем разница между ними обоими; Я имею в виду, не оба термина «все» <==> «все» так же ?? –