Magento Index Management建立索引速度慢解决方案

Magento产品数量不多的话这点体现不严重。但是如果产品数据在10W以上(个人经验判断),建立索引常常要一小时多或者更多。

特此研究了下,知道Magento在Index Management这边建立索引机制
的处理步骤有:

1)目录和导航栏的产品属性的索引建立

2)产品价格的索引

3)目录URL和产品URL的建立

4)重组产品的EAV数据

5)重组目录的EAV数据

6)目录和产品之前的关联索引

7)目录产品的全文搜索

8)产品库存、产品状态

(有不足的地方还原指正 ^_^。)

Magento索引
过程里的这八点,我主要针对第七点来优化。具体办法是,建立脚本程序,替代Magento的这部分工作内容。

<?php
require_once 'app/Mage.php';
umask(0);
Mage::app( "default" );
Mage::log("开始建立搜索索引:".date("d/m/y h:i:s"));
$sql = "TRUNCATE catalogsearch_fulltext;";
$mysqli = Mage::getSingleton('core/resource')->getConnection('core_write');
$mysqli->query($sql);
$process = Mage::getModel('index/process')->load(7);
$process->reindexAll();
Mage::log("搜索索引建立完成: " .date("d/m/y h:i:s"));
?>

虽然这办法对Magento Index Management这边的速度有所帮助,但是效果有限。。

后续的大数据库建立Magento索引
耗时慢的处理正在进行中,不日更新。 > _<