M2.2.5: Может ли кто-нибудь объяснить роль/функциональность различных таблиц, используемых в процессе индексирования?
Я читал документацию об индексировании в Magento 2, но это очень поверхностно. Что мне интересно, так это как работают внутренние компоненты механизма индексирования. Кто-нибудь может мне это объяснить? Если я посмотрю, например, на соотношение категории/продукта, я могу определить следующее:
Следующие таблицы включены в мой настройка:
catalog_category_product
catalog_category_product_cl
catalog_category_product_index
catalog_category_product_index_replica
catalog_category_product_index_store1
catalog_category_product_index_store1_replica
catalog_category_product_index_store2
catalog_category_product_index_store2_replica
catalog_category_product_index_tmp
До сих пор я понимаю следующее о процессе индексирования:
- Отношения категории/продукта хранятся в
catalog_category_product
. - Всякий раз, когда происходит изменение этого отношения, новая версия помещается в список изменений (
catalog_category_product_cl
), который должен быть получен реализацией материализованного представления с помощью сравнение версий в таблицеmview_state
. -
catalog_category_product_index_tmp
заполняется во время индексации и заменяется в конце процесса наcatalog_category_product_index
.
Но вот мои вопросы, которые у меня еще остались:
- Какова цель
_replica
-таблицы? - Почему существуют индексы для каждого магазина, даже если в
catalog_category_product_index
естьstore_id
-таблица? - Не уверен, что это ошибка, но почему существуют различия между продуктами в
catalog_category_product_index::store_id=1
иcatalog_category_product_index_store1
? Чтобы уточнить: Вcatalog_category_product_index
У меня есть продукт это присваивается 6 идентификаторам категорий, в то время как один и тот же продукт в выделенном индексе_store1
присваивается только 4 идентификаторам категорий. Хотя это может быть ошибка.
Любая помощь/объяснение от основных разработчиков Magento или более опытных разработчиков Magento приветствуется.
1 answers
catalog_category_product_index_tmp
используется для хранения промежуточных данных для пакетного продукта в процессе индексации
*_replica
таблицы используются для полного процесса индексации, чтобы не влиять на внешний вид магазина в процессе индексации
*_store*
таблицы, добавленные в 2.2.5 для разделения индекса на магазин, и таблица catalog_category_product_index
устарели