首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Magento mass_action索引-它们是如何工作的?

问Magento mass_action索引-它们是如何工作的?
EN

Stack Overflow用户
提问于 2015-11-24 07:47:34
回答 1查看 311关注 0票数 0

我创建了一些代码来更新Magento的价格。我发现更新产品对象本身有点慢,所以我发现它可以一次更新单个属性,而且要快得多。

代码语言:javascript
复制
Mage::getSingleton('catalog/product_action')->updateAttributes(array($prod->getId()), array('price',10), $storeId);

当我运行它时,在index_event表中创建了一个条目-

类型:mass_action,

实体:catalog_product

new_data

a:12:{s:35:"cataloginventory_stock_match_result";b:1;s:41:"Mage_CatalogInventory_Model_Indexer_Stock";a:1:{s:35:"cataloginventory_stock_match_result";b:1;}s:34:"catalog_product_price_match_result";b:1;s:40:"Mage_Catalog_Model_Product_Indexer_Price";a:2:{s:34:"catalog_product_price_match_result";b:1;s:25:"reindex_price_product_ids";a:11:{i:0;s:2:"39";i:1;s:3:"363";i:2;s:3:"367";i:3;s:3:"371";i:4;s:3:"375";i:5;s:3:"379";i:6;s:3:"383";i:7;s:3:"387";i:8;s:3:"391";i:9;s:3:"395";i:10;s:3:"399";}}s:24:"catalog_url_match_result";b:0;s:33:"catalog_product_flat_match_result";b:1;s:39:"Mage_Catalog_Model_Product_Indexer_Flat";a:3:{s:33:"catalog_product_flat_match_result";b:1;s:33:"catalog_product_flat_force_update";b:1;s:32:"catalog_product_flat_product_ids";a:11:{i:0;s:2:"39";i:1;s:3:"363";i:2;s:3:"367";i:3;s:3:"371";i:4;s:3:"375";i:5;s:3:"379";i:6;s:3:"383";i:7;s:3:"387";i:8;s:3:"391";i:9;s:3:"395";i:10;s:3:"399";}}s:34:"catalog_category_flat_match_result";b:0;s:37:"catalog_category_product_match_result";b:1;s:43:"Mage_Catalog_Model_Category_Indexer_Product";a:1:{s:37:"catalog_category_product_match_result";b:1;}s:35:"catalogsearch_fulltext_match_result";b:1;s:41:"Mage_CatalogSearch_Model_Indexer_Fulltext";a:3:{s:35:"catalogsearch_fulltext_match_result";b:1;s:27:"catalogsearch_force_reindex";b:1;s:25:"catalogsearch_product_ids";a:11:{i:0;s:2:"39";i:1;s:3:"363";i:2;s:3:"367";i:3;s:3:"371";i:4;s:3:"375";i:5;s:3:"379";i:6;s:3:"383";i:7;s:3:"387";i:8;s:3:"391";i:9;s:3:"395";i:10;s:3:"399";}}}

我发现当我在循环中运行代码时,这个记录会自动添加到其中。

是否有这样的数据仅用于重新索引受影响的产品?

如果启用了“手动索引”,会发生什么?

这对我来说是新的,所以希望有人能得到一些答案。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-11-24 11:45:18

Magento能够在每个产品更新操作中触发索引事件。在您的情况下,您试图通过批量操作更新产品。因此,magento会触发完全的重新索引。

  1. 如果产品数量较少,您可以使用Magento模型而不是动作。
  2. 否则,通过将标志is_visible更改为false来停止索引进程;在以下路径下: Mage/Catalog/Model/Product/Indexer/Price.php。这将限制自动索引过程。

在你的脚本完成之后。你可以做手工价格指数。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33888008

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档