索引停留在“处理”上


24

根据Magento管理员的说法,“产品网址重写”索引和“类别/产品”关联已运行了几天 卡住!

但是,没有正在运行的reindex php进程,该var/locks文件夹为空,并且index_processMySQL表的状态完全不同:

+------------+------------------------------+-----------------+---------------------+---------------------+--------+
| process_id | indexer_code                 | status          | started_at          | ended_at            | mode   |
+------------+------------------------------+-----------------+---------------------+---------------------+--------+
|          1 | catalog_product_attribute    | pending         | 2014-01-03 18:17:32 | 2014-01-03 18:17:34 | manual |
|          2 | catalog_product_price        | pending         | 2013-11-06 21:26:32 | 2013-11-06 21:26:32 | manual |
|          3 | catalog_url                  | pending         | 2013-06-05 22:15:24 | 2013-06-05 22:15:24 | manual |
|          4 | catalog_product_flat         | require_reindex | 2013-06-05 22:15:24 | 2013-06-05 22:15:24 | manual |
|          5 | catalog_category_flat        | require_reindex | 2013-08-13 19:55:56 | 2013-08-13 19:55:56 | manual |
|          6 | catalog_category_product     | pending         | 2013-06-05 22:15:24 | 2013-06-05 22:15:24 | manual |
|          7 | catalogsearch_fulltext       | require_reindex | 2014-01-03 15:05:55 | 2013-12-16 22:33:51 | manual |
|          8 | cataloginventory_stock       | pending         | 2014-01-03 18:17:32 | 2014-01-03 18:17:32 | manual |
|          9 | tag_summary                  | pending         | 2014-01-03 15:51:59 | 2014-01-03 15:52:02 | manual |
|         10 | url_redirect                 | pending         | 2013-06-05 22:17:14 | 2013-06-05 22:17:14 | manual |
|         11 | targetrule                   | require_reindex | 2013-07-03 16:37:34 | 2013-07-03 16:37:34 | manual |
|         12 | catalog_url_category         | pending         | 2013-06-05 22:17:15 | 2013-06-05 22:17:15 | manual |
|         13 | catalog_url_product          | pending         | 2013-06-05 22:17:15 | 2013-06-05 22:17:15 | manual |
|         14 | catalog_category_product_cat | pending         | 2013-06-05 22:17:15 | 2013-06-05 22:17:15 | manual |
+------------+------------------------------+-----------------+---------------------+---------------------+--------+

是什么导致这种差异?更令人担忧的是,这使我们无法完成到1.13.1的升级(不用担心,这只是登台服务器!)

Answers:


28

服务器超时可能导致Magento管理员重新索引永久停留在“正在处理”中。您需要做的是获取服务器的SSH访问权限,并根据您遇到的重新索引问题,执行以下命令行。

php yourmagentofolder/html/shell/indexer.php -reindex catalog_product_attribute
php yourmagentofolder/html/shell/indexer.php -reindex catalogsearch_fulltext
php yourmagentofolder/html/shell/indexer.php -reindex catalog_category_flat
php yourmagentofolder/html/shell/indexer.php -reindex cataloginventory_stock
php yourmagentofolder/html/shell/indexer.php -reindex catalog_category_product
php yourmagentofolder/html/shell/indexer.php -reindex catalog_product_price
php yourmagentofolder/html/shell/indexer.php -reindex tag_summary
php yourmagentofolder/html/shell/indexer.php -reindex catalog_url

1
使用indexer.php
mpw

1
您是否尝试在php配置中增加最大执行时间?
James H.

我相信PHP的CLI ini文件始终定义max_execution_time为零。无论如何,似乎建议您单独运行它们是可行的。呼叫时发生问题php indexer.php reindexall。谢谢!
mpw

然后,您可能会遇到内存错误。
Paul Hachmang 2014年

1
使用php indexer.php info来获得指标的完整列表。
marblegravy

2

我正在从v1.3CE升级到v1.9CE。类别产品不会重新编制索引。我必须从v1.9 DB中删除catalog_category_product_index表,并将其替换为LIVE站点中的表。

  1. 从最新(在此情况下为活动)数据库中导出表(catalog_category_product_index)。您必须选中“禁用外键检查”标记。
  2. 选择您要将表导入到的数据库。
  3. 单击“ SQL”选项卡。
  4. 输入此代码:DROP TABLE catalog_category_product_index
  5. 然后导入备份的表
  6. 在SSH中重新索引:-reindex catalog_category_product
  7. 检查Magento管理员。索引管理没有显示错误。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.