2012-05-10 23 views
5

जब सक्षम और पुन: अनुक्रमणिका उत्पाद फ्लैट डाटा की कोशिश कर रहा - MagentoMagento फ्लैट उत्पाद

फ्लैट सूची मॉड्यूल से हो रही त्रुटि 64 फ़िल्टर और/या sortable विशेषताओं का एक सीमा होती है। वर्तमान में उनमें से 521 हैं। इस मॉड्यूल का उपयोग करने के लिए कृपया फ़िल्टर करने योग्य/क्रमबद्ध विशेषताओं की संख्या को कम करें।

मैं समझ नहीं पा रहा हूं कि इसका क्या अर्थ है और जहां से Magento यह मान प्राप्त करता है। गुणों में मेरे पास केवल 321 अलग-अलग विशेषताएं हैं, जहां से वर्तमान में 521 का मूल्य प्राप्त होता है और जहां उनमें से 64 के लिए सीमा होती है ???

thnx।

+0

जिज्ञासु - इस मुद्दे कभी हल किया गया था या आसपास काम किया ? – Laizer

उत्तर

5

विधि Mage_Catalog_Model_Resource_Product_Flat_Indexer::prepareFlatTable() इस अपवाद फेंक रहा है, जब अपने उत्पाद से अधिक

<global> 
    <catalog> 
     <product> 
      <flat> 
       <max_index_count>64</max_index_count> 
      </flat> 
     </product> 
    </catalog> 
</global> 

अनुक्रमित है। यह अधिकतम आमतौर पर app/code/core/Mage/Catalog/etc/config.xml में परिभाषित किया गया है और डिफ़ॉल्ट mySQL प्रतिष्ठानों द्वारा अनुमति 64 चाबियाँ की अधिकतम संख्या, से मेल खाता है वे के साथ

ERROR 1069: Too many keys specified. Max 64 keys allowed 

आपकी समस्या त्रुटि से पहले किया गया है कि कितने गुण अपने उत्पादों है, लेकिन उनमें से कितने हैं नहीं है फिल्टर करने योग्य और/या क्रमबद्ध (को छोड़कर सभी आपके गुण निश्चित रूप से हैं)।

ट्रैस Mage_Catalog_Model_Resource_Product_Flat_Indexer::getFlatIndexes() पता लगाने के लिए कि Magento कुल 521 अनुक्रमणिका कैसे पहुंचता है।

एक त्वरित जांच आप भी अपने catalog_eav_attribute मेज पर एक नजर है और जाँच कितने गुण फ़िल्टर कर रहे हैं कर सकते हैं (is_filterable = 1) और/या sortable (used_for_sort_by = 1) के लिए

+0

thnx - mysql पैराम को बदलने और विशेषताओं को अनुकूलित करने का प्रयास करेगा – Kudja

4

त्रुटि मिल रहा है निम्न फ़ाइल से आ रही है:

/app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Product/Flat|Indexer.php

ऐसा लगता है कि इस सीमा सूचि config.xml फ़ाइल जो निम्न फ़ाइल में स्थित है में स्थापित किया जाएगा:

/app/code/core/Mage/Catalog/etc|config.xml

के लिए कोई खोज करना "max_index_count" आप पाएंगे कि यह मान 64 पर सेट है।

मुझे यकीन नहीं है कि यह सीमा क्यों है, लेकिन मुझे कल्पना करनी है कि उनके पास 64 को स्थापित करने का एक अच्छा कारण था। विकास वातावरण पर (मैं सुझाव दूंगा कि आप इसे अपनी लाइव साइट पर पहले नहीं आज़माएं आप समझते हैं कि क्या हो सकता है) आप इस मूल्य को बदल सकते हैं और देख सकते हैं कि क्या होता है।

आपके पास मौजूद इंडेक्स की संख्या (521) indexer.php फ़ाइल में getFlatIndexes फ़ंक्शन से आ रही है। मुझे लगता है कि आप 521 तक पहुंच रहे हैं क्योंकि आपके पास 321 + कुछ अतिरिक्त हैं जो Magento डिफ़ॉल्ट रूप से उपयोग करते हैं।

अगर मुझे लगता है कि फ्लैट कैटलॉग टेबल को क्षैतिज रूप से बहुत बड़ा होने से रोकने के लिए यह सीमा बनाई गई है। मुझे लगता है कि तालिका बहुत बड़ी हो जाती है जब एक गति मुद्दा है।

+0

thnx - इस पैराम के साथ experement करने की कोशिश करेंगे – Kudja

संबंधित मुद्दे