2014-02-12 22 views

回答

0

檢查&請按照下列步驟

  • 要清除所有的鎖重新索引定位VAR /鎖目錄,刪除該目錄下的所有文件。

  • 現在,登錄到您的MysQSL/phpMyAdmin來運行下面的MySQL查詢(請確保您已經採取完全備份犯這個MySQL查詢之前):

DELETE CPOP * FROM catalog_product_option_price AS cpop INNER JOIN catalog_product_option AS cpo ON cpo.option_id = cpop.option_id WHERE cpo.type ='checkbox'OR cpo.type = 'radio'OR cpo.type ='drop_down';

DELETE cpotp。* FROM catalog_product_option_type_price AS cpotp
INNER JOIN catalog_product_option_type_value AS cpotv ON cpotv.option_type_id = cpotp.option_type_id INNER JOIN catalog_product_option AS CPO ON cpotv.option_id = CPO。 option_id
WHERE cpo.type <>'checkbox'AND cpo.type <>'radio'AND
cpo.type <>'dro p_down」

  • 重新登錄到您的Magento管理面板,進入系統選項卡>管理指數再次創下指數,你會發現沒有這樣的錯誤,會再次出現。如果未來重新編制索引以解決Magento重新索引問題,您可以再次執行這些相同的步驟。
+0

@ Magento_ocodewire - 執行reindexing時我沒有收到任何類型的錯誤。我的問題是產品保存時間過長。#Ankur Goyal提供的解決方案效果很好 – Anu

-1

使用三步在Magento數據庫(MySQL的)和解決重新索引問題

第一步:

DROP TABLE IF EXISTS `index_process_event`; 
DROP TABLE IF EXISTS `index_event`; 
DROP TABLE IF EXISTS `index_process`; 

第二步:

CREATE TABLE `index_event` (
`event_id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT, 
`type` VARCHAR(64) NOT NULL, 
`entity` VARCHAR(64) NOT NULL, 
`entity_pk` BIGINT(20) DEFAULT NULL, 
`created_at` DATETIME NOT NULL, 
`old_data` MEDIUMTEXT, 
`new_data` MEDIUMTEXT, 
PRIMARY KEY (`event_id`), 
UNIQUE KEY `IDX_UNIQUE_EVENT` (`type`,`entity`,`entity_pk`) 
) ENGINE=INNODB DEFAULT CHARSET=utf8; 

CREATE TABLE `index_process` (
`process_id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT, 
`indexer_code` VARCHAR(32) NOT NULL, 
`status` ENUM('pending','working','require_reindex') NOT NULL DEFAULT 'pending', 
`started_at` DATETIME DEFAULT NULL, 
`ended_at` DATETIME DEFAULT NULL, 
`mode` ENUM('real_time','manual') NOT NULL DEFAULT 'real_time', 
PRIMARY KEY (`process_id`), 
UNIQUE KEY `IDX_CODE` (`indexer_code`) 
) ENGINE=INNODB DEFAULT CHARSET=utf8; 

第三步:

INSERT INTO `index_process`(`process_id`,`indexer_code`,`status`,`started_at`,`ended_at`,`mode`) VALUES (1,'catalog_product_attribute','pending','2010-02-13 00:00:00','2010-02-13 00:00:00','real_time'),(2,'catalog_product_price','pending','2010-02-13 00:00:00','2010-02-13 00:00:00','real_time'),(3,'catalog_url','pending','2010-02-13 19:12:15','2010-02-13 19:12:15','real_time'),(4,'catalog_product_flat','pending','2010-02-13 00:00:00','2010-02-13 00:00:00','real_time'),(5,'catalog_category_flat','pending','2010-02-13 00:00:00','2010-02-13 00:00:00','real_time'),(6,'catalog_category_product','pending','2010-02-13 00:00:00','2010-02-13 00:00:00','real_time'),(7,'catalogsearch_fulltext','pending','2010-02-13 00:00:00','2010-02-13 00:00:00','real_time'),(8,'cataloginventory_stock','pending','2010-02-13 00:00:00','2010-02-13 00:00:00','real_time'); 

CREATE TABLE `index_process_event` (
`process_id` INT(10) UNSIGNED NOT NULL, 
`event_id` BIGINT(20) UNSIGNED NOT NULL, 
`status` ENUM('new','working','done','error') NOT NULL DEFAULT 'new', 
PRIMARY KEY (`process_id`,`event_id`), 
KEY `FK_INDEX_EVNT_PROCESS` (`event_id`), 
CONSTRAINT `FK_INDEX_EVNT_PROCESS` FOREIGN KEY (`event_id`) REFERENCES `index_event` (`event_id`) ON DELETE CASCADE ON UPDATE CASCADE, 
CONSTRAINT `FK_INDEX_PROCESS_EVENT` FOREIGN KEY (`process_id`) REFERENCES `index_process` (`process_id`) ON DELETE CASCADE ON UPDATE CASCADE 
) ENGINE=INNODB DEFAULT CHARSET=utf8; 
+0

答案中的步驟如何使索引過程更快? –