2013-04-11 3 views
9

हम 8k उत्पादों वाले Magento स्टोर चला रहे हैं। टॉव इंडेक्सिंग काम नहीं कर रहा है। कुछ त्रुटियों को फेंकना उत्पाद फ्लैट डेटा त्रुटिMagento उत्पाद फ्लैट डेटा और कैटलॉग खोज सूचकांक समस्या

Product Flat Data index process unknown error: 
exception 'PDOException' with message 'SQLSTATE[HY000]: General error: 1005 Can't create table './bofc_magento/#sql-f22_6554c.frm' (errno: 121)' in /var/www/vhosts/beadsofcambay.com/httpdocs/lib/Zend/Db/Statement/Pdo.php:228 
Stack trace: 
#0 /var/www/vhosts/beadsofcambay.com/httpdocs/lib/Zend/Db/Statement/Pdo.php(228): PDOStatement->execute(Array) 
#1 /var/www/vhosts/beadsofcambay.com/httpdocs/lib/Varien/Db/Statement/Pdo/Mysql.php(110): Zend_Db_Statement_Pdo->_execute(Array) 
#2 /var/www/vhosts/beadsofcambay.com/httpdocs/lib/Zend/Db/Statement.php(300): Varien_Db_Statement_Pdo_Mysql->_execute(Array) 
#3 /var/www/vhosts/beadsofcambay.com/httpdocs/lib/Zend/Db/Adapter/Abstract.php(479): Zend_Db_Statement->execute(Array) 
#4 /var/www/vhosts/beadsofcambay.com/httpdocs/lib/Zend/Db/Adapter/Pdo/Abstract.php(238): Zend_Db_Adapter_Abstract->query('ALTER TABLE `ca...', Array) 
#5 /var/www/vhosts/beadsofcambay.com/httpdocs/lib/Varien/Db/Adapter/Pdo/Mysql.php(389): Zend_Db_Adapter_Pdo_Abstract->query('ALTER TABLE `ca...', Array) 
#6 /var/www/vhosts/beadsofcambay.com/httpdocs/lib/Varien/Db/Adapter/Pdo/Mysql.php(327): Varien_Db_Adapter_Pdo_Mysql->query('ALTER TABLE `ca...') 
#7 /var/www/vhosts/beadsofcambay.com/httpdocs/lib/Varien/Db/Adapter/Pdo/Mysql.php(2548): Varien_Db_Adapter_Pdo_Mysql->raw_query('ALTER TABLE `ca...') 
#8 /var/www/vhosts/beadsofcambay.com/httpdocs/app/code/core/Mage/Catalog/Model/Resource/Product/Flat/Indexer.php(816): Varien_Db_Adapter_Pdo_Mysql->addForeignKey('FK_CAT_PRD_FLAT...', 'catalog_product...', 'entity_id', 'catalog_product...', 'entity_id', 'CASCADE', 'CASCADE') 
#9 /var/www/vhosts/beadsofcambay.com/httpdocs/app/code/core/Mage/Catalog/Model/Resource/Product/Flat/Indexer.php(1390): Mage_Catalog_Model_Resource_Product_Flat_Indexer->prepareFlatTable(1) 
#10 /var/www/vhosts/beadsofcambay.com/httpdocs/app/code/core/Mage/Catalog/Model/Product/Flat/Indexer.php(296): Mage_Catalog_Model_Resource_Product_Flat_Indexer->reindexAll() 
#11 /var/www/vhosts/beadsofcambay.com/httpdocs/app/code/core/Mage/Catalog/Model/Product/Indexer/Flat.php(336): Mage_Catalog_Model_Product_Flat_Indexer->reindexAll() 
#12 /var/www/vhosts/beadsofcambay.com/httpdocs/app/code/core/Mage/Index/Model/Process.php(207): Mage_Catalog_Model_Product_Indexer_Flat->reindexAll() 
#13 /var/www/vhosts/beadsofcambay.com/httpdocs/app/code/core/Mage/Index/Model/Process.php(253): Mage_Index_Model_Process->reindexAll() 
#14 /var/www/vhosts/beadsofcambay.com/httpdocs/shell/indexer.php(158): Mage_Index_Model_Process->reindexEverything() 
#15 /var/www/vhosts/beadsofcambay.com/httpdocs/shell/indexer.php(198): Mage_Shell_Compiler->run() 
#16 {main} 

सूची खोज अनुक्रमणिका

Catalog Search Index index process unknown error: 
exception 'Zend_Cache_Exception' with message 'Could not determine temp directory, please specify a cache_dir manually' in /var/www/vhosts/beadsofcambay.com/httpdocs/lib/Zend/Cache.php:209 
Stack trace: 
#0 /var/www/vhosts/beadsofcambay.com/httpdocs/lib/Zend/Cache/Backend.php(197): Zend_Cache::throwException('Could not deter...') 
#1 /var/www/vhosts/beadsofcambay.com/httpdocs/lib/Zend/Cache/Backend/File.php(123): Zend_Cache_Backend->getTmpDir() 
#2 /var/www/vhosts/beadsofcambay.com/httpdocs/lib/Zend/Cache.php(153): Zend_Cache_Backend_File->__construct(Array) 
#3 /var/www/vhosts/beadsofcambay.com/httpdocs/lib/Zend/Cache.php(94): Zend_Cache::_makeBackend('File', Array, false, false) 
#4 /var/www/vhosts/beadsofcambay.com/httpdocs/lib/Zend/Locale/Data.php(940): Zend_Cache::factory('Core', 'File', Array, Array) 
#5 /var/www/vhosts/beadsofcambay.com/httpdocs/lib/Zend/Locale.php(668): Zend_Locale_Data::getContent('en_US', 'date', NULL) 
#6 /var/www/vhosts/beadsofcambay.com/httpdocs/app/code/core/Mage/CatalogSearch/Model/Resource/Fulltext.php(763): Zend_Locale::getTranslation(NULL, 'date', Object(Zend_Locale)) 
#7 /var/www/vhosts/beadsofcambay.com/httpdocs/app/code/core/Mage/CatalogSearch/Model/Resource/Fulltext.php(699): Mage_CatalogSearch_Model_Resource_Fulltext->_getStoreDate(1, NULL) 
#8 /var/www/vhosts/beadsofcambay.com/httpdocs/app/code/core/Mage/CatalogSearch/Model/Resource/Fulltext.php(634): Mage_CatalogSearch_Model_Resource_Fulltext->_getAttributeValue(145, NULL, 1) 
#9 /var/www/vhosts/beadsofcambay.com/httpdocs/app/code/core/Mage/CatalogSearch/Model/Resource/Fulltext.php(230): Mage_CatalogSearch_Model_Resource_Fulltext->_prepareProductIndex(Array, Array, 1) 
#10 /var/www/vhosts/beadsofcambay.com/httpdocs/app/code/core/Mage/CatalogSearch/Model/Resource/Fulltext.php(128): Mage_CatalogSearch_Model_Resource_Fulltext->_rebuildStoreIndex(1, NULL) 
#11 /var/www/vhosts/beadsofcambay.com/httpdocs/app/code/core/Mage/CatalogSearch/Model/Fulltext.php(83): Mage_CatalogSearch_Model_Resource_Fulltext->rebuildIndex(NULL, NULL) 
#12 /var/www/vhosts/beadsofcambay.com/httpdocs/app/code/core/Mage/CatalogSearch/Model/Indexer/Fulltext.php(446): Mage_CatalogSearch_Model_Fulltext->rebuildIndex() 
#13 /var/www/vhosts/beadsofcambay.com/httpdocs/app/code/core/Mage/Index/Model/Process.php(207): Mage_CatalogSearch_Model_Indexer_Fulltext->reindexAll() 
#14 /var/www/vhosts/beadsofcambay.com/httpdocs/app/code/core/Mage/Index/Model/Process.php(253): Mage_Index_Model_Process->reindexAll() 
#15 /var/www/vhosts/beadsofcambay.com/httpdocs/shell/indexer.php(158): Mage_Index_Model_Process->reindexEverything() 
#16 /var/www/vhosts/beadsofcambay.com/httpdocs/shell/indexer.php(198): Mage_Shell_Compiler->run() 
#17 {main} 

दोनों अनुक्रमित कमांड लाइन से चलाए जा रहे हैं। मैंने दोनों त्रुटियों को गुगल किया लेकिन मुझे कोई उपयुक्त समाधान नहीं मिला।

उत्तर

1

उत्पाद डेटा डेटा काटकर फिर इस स्क्रिप्ट को फिर से चलाएं। विदेशी कुंजी बाधा मुद्दा होना चाहिए।

+0

मैं पहले से ही इस तकनीक की कोशिश की है। एक ही त्रुटि हो रही है। – Tsimtsum

+0

क्या आपके पास इस त्रुटि संदेश के बारे में कोई अन्य विचार है? – Tsimtsum

+0

1005 तालिका नहीं बना सकता: ऐसा तब होता है जब एक विदेशी कुंजी उस तालिका के लिए होती है जो इंजन इंजन प्रकार नहीं है। यह मैंने एक बार अनुभव किया है। इसलिए प्रत्येक तालिका के साथ डीबी इंजन की जांच करें। – oscprofessionals

3

मुझे कुछ दिन पहले एक ही समस्या थी।

1 - कृपया एक DB बैकअप बनाने

2 - Magento में उपयोग फ्लैट उत्पाद और श्रेणी विकल्प बंद कर दें और मैनुअल अद्यतन करने के लिए उत्पाद फ्लैट डाटा से सूचकांक मोड पर स्विच;

3 - अब अपने डीबी में जाएं। catalog_product_flat_xx तालिका हटाएं;

4 - आपको एसएसएच के माध्यम से कैटलॉग रीइंडेक्स करना होगा। यह इस तरह दिखना चाहिए:

usr/local/bin/php public_html/shell/indexer.php --reindex catalog_product_flat 

Magento प्रत्येक दुकान के लिए नई टेबल तैयार करेगा। मुझे कुछ समय लग सकता था।

एक बार ऐसा करने के बाद, आप फ्लैट उत्पादों के विकल्प को सक्रिय कर सकते हैं और यह जांच सकते हैं कि Magento रीइंडेक्स स्वयं ही कर सकता है या नहीं।

+0

मैंने इन चरणों की कोशिश की लेकिन कोई सफलता नहीं मिली। Magento indexer – Tsimtsum

+0

के साथ क्या गलत हो रहा है, यह नहीं पता है, इस समाधान को ऊपर वर्णित समस्या का समाधान करना चाहिए। – medina

1

मैंने उस त्रुटि को देखा जब मैंने मैन्युअल रूप से उन कॉलम को बदलने की कोशिश की जिनमें एफके (संबंध) था। छिड़काव फ्लैट इंडेक्स टेबल इसे दूर करना चाहिए - विफल होने पर TRUNCATE के बजाय इसे हटाने का प्रयास करें।

फ्रंटेंड पर दिखाई देने के लिए कितने गुण सेट किए गए हैं (और फ्लैट टेबल में जोड़े गए हैं)? MySQL 64k प्रति पंक्ति और बुरी चीजें की एक सीमा है, तो आप को तोड़ने यह (भ्रष्ट टेबल ...) की तरह हो सकता है है

दूसरा त्रुटि सिर्फ गलत कैश सेटअप (local.xml) या वर की फाइल अनुमति के साथ समस्या की तरह दिखता है फ़ोल्डर।

+0

मैंने कई बार उत्पाद फ्लैट टेबल को छोटा कर दिया है। अभी भी एक ही त्रुटि हो रही है। कैश त्रुटि के लिए -/var/cache लिखने योग्य है। – Tsimtsum

+0

फ्लैट टेबल की समस्याएं, जहां तक ​​मैं ट्रेसबैक से देख सकता हूं, फ्लैट टेबल निर्माण से संबंधित हैं। SQL डीबग आउट (lib/Varien/DB/एडाप्टर/Pdo/Mysql.php L: 103 और L: 117) में सक्षम करने का प्रयास करें और देखें कि Magento वास्तव में (var)/डीबग/* लॉग में क्या करने का प्रयास कर रहा है। कैश के लिए, शैल उपयोगकर्ता का उपयोग var/cache हो सकता है - वेब सर्वर सेटअप php कोड के आधार पर विभिन्न उपयोगकर्ताओं के अंतर्गत चल रहा है ... या यह local.xml/config नहीं ढूंढ सकता जो बहुत अजीब है। – nesh

1

मैं catalog_product_flat अनुक्रमणिका प्रक्रिया reindex करने में सक्षम नहीं था। एक दिन खर्च करने और इंटरनेट पर कई समाधानों की कोशिश करने के बाद। मैं इस मुद्दे को ठीक करने में सक्षम था। नीचे कदम हैं।

  1. इंडेक्सिंग समस्या का सामना कर रहे Magento डीबी का एक क्लोन बनाएं।
  2. डेटाबेस को नए बनाए गए डीबी में डंप करें।
  3. एकल स्टोर के लिए तालिका catalog_product_flat_1 को छोटा करें और एकाधिक स्टोर के लिए कई तालिका catalog_product_flat_* होगी जहां * स्टोर आईडी है। यहां सभी टेबल को छोटा करें।
  4. नए बनाए गए डेटाबेस में मैंगेंटो चलने का उदाहरण इंगित करें और डेटाबेस को कॉन्फ़िगर करें, ताकि साइट सामान्य रूप से कार्य कर रही हो।
  5. अब php document_root/shell/indexer.php --reindex catalog_product_flat आदेश चलाएं या व्यवस्थापक से पुन: प्रयास करने का प्रयास करें।सभी प्रक्रिया reindexing के लिए php document_root/shell/indexer.php --reindexall
-1

मुझे कैटलॉग खोज में पुन: अनुक्रमण के लिए एक ही समस्या का सामना करना पड़ा ... 10 दिनों के बाद मुझे समाधान मिला।

सूची खोज अनुक्रमणिका त्रुटि मैं हो रही थी:

exception 'PDOException' with message 'SQLSTATE[HY000]: General error: 1785 When @@GLOBAL.ENFORCE_GTID_CONSISTEN CY = 1, updates to non-transactional tables can only be done in either autocommitted statements or single-statement transactions, and never in the same statement as updates to transactional tables.'

समाधान है:

  1. ड्रॉप तालिका catalogsearch_fulltext
  2. मौजूद संरचना का उपयोग फिर से catalogsearch_fulltext तालिका बनाएं।
  3. अद्यतन उल्लिखित क्वेरी का उपयोग कर catalogsearch_query अद्यतन तालिका।

    अद्यतन catalogsearch_query सेट is_processed = 0

फिर अपने SSH खोल सकते हैं और इसे फिर से काम करने के लिए कमांड चलाएँ:

[~/public_html/shell]# php indexer.php reindexall 
संबंधित मुद्दे