Индекс "Цены на продукцию" и "Атрибуты продукции" зависели от фондового индекса?
Я обнаружил, что на клиентском сервере запуск фондового индекса вызывает большую нагрузку и замедляет работу сайта, поэтому я изменил фондовый индекс на ручной.
После того, как я изменил индекс "состояние запасов" на ручной режим, каждый раз, когда я сохранял продукт, "Цены на продукты" и "Атрибуты продукта" всегда требовали повторного индексирования. Я нашел конфигурацию:
<catalog_product_attribute>
<depends>
<cataloginventory_stock/>
</depends>
</catalog_product_attribute>
<catalog_product_price>
<depends>
<cataloginventory_stock/>
</depends>
</catalog_product_price>
На app/code/core/Mage/CatalogInventory/etc/config.xml
Поэтому я удалил (прокомментировал) эту часть xml, и эти два индексатора кажутся нормальными, но может ли кто-нибудь объяснить для меня что это за бирка? просто порядок запуска индексаторов или что-то более глубокое? безопасно ли удалять эти разделы?
1 answers
Если вы заглянете в Mage_CatalogInventory_Model_Indexer_Stock
, то заметите, что как часть функции _registerEvent
проверяется сущность события. Если эта сущность соответствует типу core_config_data
и значение cataloginventory/options/show_out_of_stock
изменилось, то выполняется следующий код:
Mage::getSingleton('index/indexer')->getProcessByCode('catalog_product_price')
->changeStatus(Mage_Index_Model_Process::STATUS_REQUIRE_REINDEX);
Mage::getSingleton('index/indexer')->getProcessByCode('catalog_product_attribute')
->changeStatus(Mage_Index_Model_Process::STATUS_REQUIRE_REINDEX);
Также, если атрибут "статус" изменился, индексатор переиндексирует продукт, проверьте _registerCatalogProductEvent
и _registerStockItemSaveEvent
, где, если статус изменится, цена будет переиндексирована. См. Комментарий в коде.
// Saving stock item without product object
// Register re-index price process if products out of stock hidden on Front-end
Похоже, что если у вас нет скрытый запас на интерфейсной опции, тогда индексаторы не будут заблокированы вместе, но на всякий случай вы добавили эту зависимость в magento.
Последнее замечание о зависимости: Это было добавлено для обеспечения того, чтобы индексы были заполнены в правильном порядке, так как вы не хотели бы, чтобы один индекс был завершен, а затем его состояние изменилось на необходимость переиндексации, поскольку другой индекс обновил свое состояние.