Magento Enterprise中的计划索引刷新

在Magento的CE版本中,有一种方法可以通过导航到管理界面的“索引管理”部分并在其中重建然后通过Web服务器来刷新特定索引。

在更高版本的EE中,删除了此功能,而采用了增量索引。从原则上讲,这是一个好主意,它允许系统完全管理索引的状态。

不幸的是,我们遇到了一个问题,我们需要安排在Magento之外对价格,库存和类别产品指数进行全面重建。尽管我毫不怀疑这归因于系统的另一个组件异常运行,并且没有适当地更新索引更改日志,但是我们处于无法触发完整索引重建的情况。

为了实现刷新,我们通过将索引标记为无效并重置其变更日志版本来操纵EE的物化视图组件。

<?php

require_once __DIR__ . "/app/Mage.php";

Mage::app();

$tables = [
    'catalog_category_product_cat',
    'catalog_category_product_index',
    'cataloginventory_stock_status',
    'catalog_product_index_price'
];

foreach ($tables as $table) {
    /* @var $client Enterprise_Mview_Model_Client */
    $client = Mage::getModel('enterprise_mview/client');
    $client->init($table);

    $metadata = $client->getMetadata();
    $metadata->setInvalidStatus();
    $metadata->setVersionId('');
    $metadata->save();
}

相关文章

0 0 投票数
文章评分
订阅评论
提醒
0 评论
内联反馈
查看所有评论