Indexing
...
Pipelines
Magento Implementation
2 min
when we trigger a sync from magento, whether via cron or cli, klevu\indexing\service\entitysyncorchestratorservice execute is executed this loops through all entityindexerservices these entityindexerservices are injected via di xml from each entity indexing module ( module m2 indexing categories , module m2 indexing cms , module ms indexing products ) e g from module ms indexing products/etc/di xml \<type name="klevu\indexing\service\entitysyncorchestratorservice"> \<arguments> \<argument name="entityindexerservices" xsi\ type="array"> \<item name="klevu product" xsi\ type="array"> \<item name="add" xsi\ type="object">klevu\indexingproducts\service\entityindexerservice\add\</item> \</item> \</argument> \</arguments> \</type> the injected entityindexerservice is a virtual type, into which we pass an entityindexingrecordprovider and a pipeline yaml file \<virtualtype name="klevu\indexingproducts\service\entityindexerservice\add" type="klevu\indexingproducts\service\entityindexerservice"> \<arguments> \<argument name="entityindexingrecordprovider" xsi\ type="object">klevu\indexingproducts\service\provider\sync\entityindexingrecordprovider\add\</argument> \<argument name="pipelineconfigurationfilepath" xsi\ type="string">klevu indexingproducts etc/pipeline/add update yml\</argument> \</arguments> \</virtualtype> the entityindexingrecordprovider will provide the records to index the pipelineconfigurationfilepath contains the default yaml file containing instructions on how to process those records