Magento - 以编程方式禁用自动索引

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

问题描述

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

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 - 以编程方式禁用自动索引的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

In PHP how can you clear a WSDL cache?(在 PHP 中如何清除 WSDL 缓存?)
failed to open stream: HTTP wrapper does not support writeable connections(无法打开流:HTTP 包装器不支持可写连接)
Stop caching for PHP 5.5.3 in MAMP(在 MAMP 中停止缓存 PHP 5.5.3)
Caching HTTP responses when they are dynamically created by PHP(缓存由 PHP 动态创建的 HTTP 响应)
Memcached vs APC which one should I choose?(Memcached 与 APC 我应该选择哪一个?)
What is causing quot;Unable to allocate memory for poolquot; in PHP?(是什么导致“无法为池分配内存?在 PHP 中?)