2013-09-26 2 views
4

Как вручную переиндексировать в magento ee 1.13.0.2 для "Stock Status" и "Каталог продукции"?Magento reindex выпускается в издании предприятия

На самом деле я попытался с

$process = Mage::getModel('index/indexer')->getProcessByCode('catalog_product_price'); 
$process->reindexAll(); 

но это не привело к то, что я ожидал.

+0

может быть, вы можете reindex использовать команду оболочки? – Ansyori

ответ

-2
$process = Mage::getSingleton('index/indexer')->getProcessById(2); 

$process = Mage::getSingleton('index/indexer')->getProcessByCode('catalog_product_price'); 

$process->reindexEverything(); или попробовать

Process Name  ID   Code 
Product Attributes  1  catalog_product_attribute 
Product Prices   2  catalog_product_price 
Catalog URL Rewrites 3  catalog_url 
Product Flat Data  4  catalog_product_flat 
Category Flat Data  5  catalog_category_flat 
Category Products  6  catalog_category_product 
Catalog Search Index 7  catalogsearch_stock 
Stock Status   8  cataloginventory_stock 
Tag Aggregation Data 9  tag_summary 
+0

Спасибо Мартин, я тоже пробовал с этим кодом, но в EE 1.13.0.2 его не работает. – Akash

-2

В magetno 1.13.0.2 переиндексации будет сделано автоматически с помощью MySQL триггеров. Только то, что вам нужно - установить cronjob для magento.

Для проверить это, вы можете запустить http://yousite.com/cron.php вручную

3

Я наткнулся на это сам несколько дней назад. Индексы были сильно переработаны в EE, поэтому переиндексация старого стиля не работает. Вы не можете индексировать по желанию больше, вместо того, чтобы вы могли планировать свой REINDEX поэтому следующий хроны будут делать это для вас в фоновом режиме:

$client = Mage::getModel('enterprise_mview/client'); 
$client->init('catalog_product_index_price'); 
$metadata = $client->getMetadata(); 
$metadata->setInvalidStatus(); 
$metadata->save(); 

Разъяснения по новой системе индексирования: http://www.eschrade.com/page/indexing-in-magento-or-the-wonderful-world-of-materialized-views/

+1

Технически, если cron-job может выполнить полный переиндекс, в API Magento 1 есть код, который также может это сделать. Просто говорю, что вы отвечаете здесь правильно, что в EE обычно нет полноценного повтора (необходимо), и триггеры MySql должны автоматически позаботиться об этом (в сочетании с всегда cron). – hakre

Смежные вопросы