When a index rebuild is triggered in our site, the old index data is deleted first, and then a new index is built from scratch (Mediachase.Search.IndexBuilder)But with almost 800.000 products in our system, this process can take a few hours, which results in a incomplete index for a few hours.
Is it possible to generate a new index first, then delete the old index, and then copy the new index to the old index location?
There are several options:
- You can build the index incrementally, without deleting the old one. So only entries which were changed from last build will be reindexed.
- You can turn on the eventual indexing, so when an entry changed, it'll be indexed automatically.
- If those two are out of question, You can also create your own implementation of ISearchIndexBuilder (inherits from BaseCatalogIndexBuilder, for example), then override the BuildIndex(bool) to do the things you want, then register that class in Mediachase.Search.config over the default CatalogIndexBuilder.
How would I turn on eventual indexing?
When you click Recover, it would turn on the eventual indexing (alert: it will rebuild the index once)