【问题标题】:Magento reindex issues in enterprise editionMagento 在企业版中重新索引问题
【发布时间】:2015-12-23 00:48:45
【问题描述】:

如何在 ma​​gento ee 1.13.0.2 中手动重新索引“库存状态”和“目录产品价格”?

其实我已经试过了

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

但这并没有达到我的预期。

【问题讨论】:

  • 也许你可以使用 shell 命令重新索引?

标签: php magento


【解决方案1】:

几天前我自己偶然发现了这个。 EE 中的索引已被彻底修改,这就是旧式重新索引不起作用的原因。您不能再随意重新索引,而是可以安排重新索引,以便下一个 cron 作业在后台为您完成:

$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/

【讨论】:

  • 从技术上讲,如果 cron-job 能够进行完整的重新索引,那么 Magento 1 API 中的一些代码也可以做到这一点。只是说,你在这里的回答是正确的,在 EE 中通常不再有完整的重新索引(必要),并且 MySql 触发器应该自动处理这个问题(与总是 cron 一起)。
【解决方案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

【讨论】:

  • 感谢 Martin,我也尝试过使用此代码,但在 EE 1.13.0.2 中它不起作用。
【解决方案3】:

在 Magetno 1.13.0.2 中,重新索引将由 MySQL 触发器自动完成。 只有你需要 - 为 magento 设置 cronjob。

为了测试它,你可以手动运行http://yousite.com/cron.php

【讨论】:

    猜你喜欢
    • 2017-05-26
    • 2014-12-19
    • 2018-04-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-19
    相关资源
    最近更新 更多