- 從magento的Magento的扁平產品
的平面目錄模塊得到錯誤具有64過濾和/或排序 屬性的限制。目前有521個。請減少可過濾/可排序屬性的編號 以使用此模塊。
我不明白這是什麼意思,從哪裏得到magento這個值。 在屬性中,我只有321個不同的屬性,所以從哪裏得到當前使用的521的值,以及哪裏需要64個限制?
thnx。
- 從magento的Magento的扁平產品
的平面目錄模塊得到錯誤具有64過濾和/或排序 屬性的限制。目前有521個。請減少可過濾/可排序屬性的編號 以使用此模塊。
我不明白這是什麼意思,從哪裏得到magento這個值。 在屬性中,我只有321個不同的屬性,所以從哪裏得到當前使用的521的值,以及哪裏需要64個限制?
thnx。
方法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
定義和他們的錯誤與
ERROR 1069: Too many keys specified. Max 64 keys allowed
你的問題之前,默認情況下,MySQL安裝允許64個鍵的最大數量相匹配,不在於有多少屬性,你的產品也有,但其中有多少是可過濾和/或可排序(除了全部當然是您的屬性)。
跟蹤Mage_Catalog_Model_Resource_Product_Flat_Indexer::getFlatIndexes()
瞭解Magento如何達到總計521個索引。
對於一個快速檢查,你也可以在你catalog_eav_attribute
表看看,並檢查了多少屬性過濾(is_filterable = 1
)和/或排序(used_for_sort_by
= 1)
thnx - 將嘗試更改mysql參數並優化屬性 – Kudja
你所得到的錯誤是從以下文件來:
/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默認使用的一些額外的。
如果我不得不猜測,這個限制是適當的,以防止扁平目錄表水平變得太大。我猜測桌子太大時會出現速度問題。
thnx - 將嘗試使用此參數進行訓練 – Kudja
好奇 - 在這個問題永遠解決或周圍工作? – Laizer