Sitecore SOLR index update strategies in a scaled environment

Sitecore by default ships with two main search provider which is Lucene or SOLR.

I will not delve too much on which one you should use as that’s been covered in https://doc.sitecore.net/sitecore_experience_platform/setting_up__maintaining/search_and_indexing/indexing/using_solr_or_lucene

I’d like to highlight some of the points mentioned in the article, where using SOLR is mandatory:

  1. You have a dedicated processing server
  2. You have multiple CM servers

The main thing here is that if sitecore_analytics_index exist in multiple servers then you would need to use SOLR. But since all the indexes are now in a centralized server, what’s the index update strategies for SOLR would be?

Typically in this setup you would set

  • CM as the indexing server
    • will perform index rebuild
    • Set the index update strategies as you fit (except manual)
  • CD only reads from index
    • Does not perform index rebuild
    • Set the index update strategies to manual

If you have multiple CM server then you can set one of the CM as the one that perform index rebuild while the other one only reads from the index.

https://doc.sitecore.net/sitecore_experience_platform/setting_up__maintaining/search_and_indexing/indexing/index_update_strategies

3 thoughts on “Sitecore SOLR index update strategies in a scaled environment

  1. Hi Rey,

    Nice article.

    I am working with Sitecore 8.2 with XDB and using Solr as a search provider. I have setup Master and Slave instances and configured Cores on both the instances.

    Now I have couple of questions: 1) Which Cores need to be configured on Solr Master instance and which cores need to be configured on Slave. 2) while setting up replication, which Cores need to replicated from Master to Slave.

  2. Hi Rey,

    Yes we are looking for HA. We have one Master and one Slave. CMS is connected to Master and CD to Slave and I have setup replication between Master and Slave.

    Currently I have configured below mentioned cores in both Master and Slave. So my initial queries:

    1) Do I need to set all the 15 cores in Master and Web? Do we really need sitecore_fxm_web_index (or any other cores related to ‘web’ in Master also.

    2)Do I need to setup replication between all these 15 Cores.

    3) Do I need to set indexing strategy in Web to Manual for all 15 cores.

    Cores I configured are:
    sitecore_web_index
    sitecore_master_index
    sitecore_core_index
    sitecore_analytics_index
    social_messages_web
    social_messages_master
    sitecore_marketing_asset_index_master
    sitecore_marketing_asset_index_web
    sitecore_testing_index
    sitecore_suggested_test_index
    sitecore_fxm_master_index
    sitecore_fxm_web_index
    sitecore_list_index
    sitecore_marketingdefinitions_master
    sitecore_marketingdefinitions_web

    Thanks,
    Nicks

Leave a Reply

Your email address will not be published. Required fields are marked *