I am using Optimizely Search (not Search & Navigation) for indexing product catalog content. I extended the CatalogIndexBuilder to add some additional calculated fields to the indexer. The issue I am having is when I update ProductContent in the UI and then run the Incremental Search Index scheduled job, the custom indexer does not get triggered for the updates on the product. If I update VariationContent in the UI and then run the Incremental Search Index scheduled job, the customer indexer does get triggered for the updates on the variant. I was wondering why the indexer is not getting triggered when I update ProductContent.
This is the documentation I was following while creating my custom Indexer:
I was also using the Quicksilver project as an example.
Specifically in the indexer in the example project they are limiting to ProductContent and that works.
protected override void OnCatalogEntryIndex(ref SearchDocument document, CatalogEntryDto.CatalogEntryRow entry, string language)
UpdateSearchDocument(ref document, entry.Code, language);
Is there some setting that I do not know about that disables ProductContent from getting processed? Or does the Incremental Search Index scheduled job not ever process ProductContent?
DId you update your Mediachase.search.config to use your new CatalogIndexer?
The Mediachase.search.config was updated to use the new CatalogIndexer. The issue is when I update a VariantContent in the product catalog the custom indexer is triggered but when I update a ProductContent the custom indexer does not get triggered.
Could you debug to see if it even runs into OnCatalogEntryIndex ?
It does not get into my custom OnCatalogEntryIndex method when the product is updated.
How do you update your product. If memory serves, OnCatalogEntryIndex is only triggered if the CatalogEntryDto is updated, not the MetaObject. i.e. if you update the properties of a product, it is not triggered
Your memory serves you correctly. Thanks. The OnCatalogEntryIndex is not triggered for a product when the MetaObject is updated, only when CatalogEntryDto is updated. The interesting thing is the OnCatalogEntryIndex is triggered for a variant when either the MetaObject is updated or the CatalogEntryDto is updated.
I think I am going to try to use the PublishedContent event to trigger a CatalogEntryDto save when either the variant or product is published so that the Incremental Search Index will trigger.