Magento - 禁用特定商店的索引器

时间:2015-08-05 14:05:14

标签: magento indexing

我只为订单使用5个商店(没有前端,只有后端)。

有没有办法为特定的商店ID禁用索引器进程(特别是catalog_product_flat和catalog_search)?

1 个答案:

答案 0 :(得分:1)

您不能在配置中禁用它。平面索引很容易做到,您必须在其创建的地方更新循环

\Mage_Catalog_Model_Product_Indexer_Flat::_processEvent

下一步是:

\Mage_Catalog_Model_Product_Flat_Indexer

下一步是:

\Mage_Catalog_Model_Resource_Product_Flat_Indexer

现在是主要功能之一(此功能调用重建功能并将数据填充到表中):

\Mage_Catalog_Model_Resource_Product_Flat_Indexer::reindexAll

最后一次通话:

\Mage_Catalog_Model_Resource_Product_Flat_Indexer::rebuild

该函数中存在一个循环:

public function rebuild($store = null)
{
    if ($store === null) {
        foreach (Mage::app()->getStores() as $store) {
            $this->rebuild($store->getId());
        }
        return $this;
    }

如果更新此循环,则可以从平面索引器中跳过所需的存储。该函数的位置是: app/code/core/Mage/Catalog/Model/Resource/Product/Flat/Indexer.php:121

全文搜索索引的逻辑非常相似: \Mage_CatalogSearch_Model_Resource_Fulltext::rebuildIndex