最新消息:觉得本站不错的话 记得收藏哦 博客内某些功能仅供测试 讨论群:135931704 快养不起小站了 各位有闲钱就打赏下把 My Email weicots#gmail.com Please replace # with @

Magento关于无法刷行索引以及搜索无结果解决方法

Magento 资料整理 ajiang-tuzi 6103浏览

>我们在添加完产品后习惯性的会刷新索引(Reindex), 这玩意折腾我将近半个多月
但是一些不正确的操作会引起刷新索引,比如报错“There was a problem with reindexing process.” “Cannot initialize the indexer process.
通常引起这个错误可能会有几种情况:
1,转移站点后文件以及文件夹权限出错
2,转移数据库后部分表的自增键值出错
3,通过不完全的方法强行将产品入库
我们可以从上到下开始我们的解决方案:
1,使用Magento Cleanup来重置文件和文件夹权限。具体操作可以看官方文档关于重置Magento文件权限
如果第一步进行后还是报错,可以在第一步基础上进行第二步
2,这一步稍微复杂点,就是要动数据库了,具体操作步骤如下:
进入Mysql运行
SET FOREIGN_KEY_CHECKS=0;
TRUNCATE TABLE catalog_product_flat_1;
如果不通过命令行,也可以进入phpmyadmin,清空表”catalog_product_flat_1″,记住是清空(TRUNCATE),不是删除(DELETE)。
清空/var/locks/下所有文件
重新刷新索引。
3,如果以上的几步还是没有解决的话,那就是导入产品的问题了。比如magmi这个软件操作不当。
因为现在Magento导入越来越丰富,很多已经直接入库,而一些工具为了导入简便,
并没有将产品的必要属性自动增加,这就导致了部分产品看上去是导入了,但是在Magento系统里并非完整,部分字段记录是空缺的,相比于后台产品新增而言。
如果遇到这个问题,首先要删除此工具导入的所有产品,看下是否可以刷新索引(reindex),如果删除后可以之后,修改工具导入的相关属性 ,字段尽量参考magento系统自带的csv导入的字段,尽量齐全,避免丢失。
比如我以前就犯过错误,is_options这个字段没有导入,却在导入中给产品添加了自定义属性,结果是前台根本不会显示。
more………………
记得在之前一些Magento升级项目和数据库修复项目中曾经遇到的最多的情况便是数据库表的类型发生了变化。Magento使用事务、回滚相当频繁,绝大多数表的类型是InnoDB,而在修复项目中,最后的修复结果基本都提到了将系统中出现错误的表修改成了InnoDB表类型。
于是找到相应的数据库,发现确实里边相当多的表类型已经发生了变化,由默认安装时候的InnoDB类型变回了MyISAM。于是按照该种方式,讲牵涉到索引相关的几个核心表类型修改问MyISAM之后,果然成功修复了该问题。
ALTER TABLE catalog_category_entity ENGINE=INNODB;
ALTER TABLE core_store ENGINE=INNODB;
more……………….
magento的URL优化,需要重新索引。
结果报错,Cannot initialize the indexer process。 Catalog URL Rewrites 一项不能重新索引。
1.确保var /locks 文件夹是可写的。
2.删除var /locks目录下所有的.locks 文件。
3.用phpmyadmin等数据库工具打开你的SQL,在查询窗口运行sql语句:
DELETE FROM catalog_category_product_index;
这些个都试了,也许对别人的问题有用,所以贴上来了。
最后郁闷了还是不行。 哥火了,把URL重写的表清空了,妈的既然这么简单搞定了。卧了个去。
1,登录phpmyadmin
2,打开Magento数据库,搜索 “core_url_rewrite” 这个表,清空这个表
全选里面的内容,点击删除,点击执行。搞定
MORE………..
国外的文件还没翻译 有需要的话联系博主 weicot.com end

转载请注明:(●--●) Hello.My Weicot » Magento关于无法刷行索引以及搜索无结果解决方法

蜀ICP备15020253号-1