以编程方式禁用自动索引

以编程方式禁用自动索引

本文介绍了Magento-以编程方式禁用自动索引的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在Magento 1.9 Enterprise(本质上是1.4 Community Edition)中,以编程方式禁用索引以使其在每次产品更新后都不会重新编制索引的正确方法是什么?

In Magento 1.9 Enterprise (which is essentially the 1.4 Community Edition), what is the correct way to disable the index programmatically so that it wont reindex after every product update?

我们有一个复杂的产品导入过程,因此我们无法使用内置的目录导入.

We have a complex product import procedure, so we can't use the built-in catalog import.

推荐答案

将索引器设置为手动"模式将阻止它在保存/编辑/删除时自动建立索引.

Setting the indexer to "manual" mode will prevent it from automatically indexing on save/edit/delete.

在MAGE_ROOT/shell中,您可以找到一个名为indexer.php的脚本,该脚本之间可以启用/禁用索引器:

In MAGE_ROOT/shell you can find a script called indexer.php that, between others allows you to enable/disable indexers:

php indexer.php --mode-manual catalog_url
php indexer.php --mode-realtime catalog_url

您可以使用一个脚本,将所有索引器设置为手动

You can have a script that sets all the indexers to manual

如果您要以编程方式进行操作,则应遵循以下原则:

If you want to do it programatically, something along the lines should work:

$pCollection = Mage::getSingleton('index/indexer')->getProcessesCollection();
foreach ($pCollection as $process) {
  $process->setMode(Mage_Index_Model_Process::MODE_MANUAL)->save();
  //$process->setMode(Mage_Index_Model_Process::MODE_REAL_TIME)->save();
}

这篇关于Magento-以编程方式禁用自动索引的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-02 07:28