Sitecore Search Index Update Strategy on Content Delivery

We have scaled environment setup with single CM and three CD instances for one of our clients. While monitoring logs, we noticed that index update was also triggered on all CD instances when any item gets published. So, the same index was updated four times which was not required.

The index should be updated by a single Sitecore instance only which should be CM in scaled environment. So, CM should perform index update operations and CD should always be in read only mode.

The default setup of index update strategies is same for both roles, CM and CD. For Example, default indexing strategies for sitecore_master_index and sitecore_web_index indexes are syncMaster and onPublishEndAsyncSingleInstance respectively in both roles. Sitecore provides seven index update strategies OOTB and Manual strategy is one of those. This strategy disables any automatic index updates.

We thought to set the Manual index update strategy for the indexes on CD. But, we wanted to confirm this with Sitecore as well before applying the patch and they also suggested the same.

We applied below patch in order to disable indexing operations on CD:

<configuration xmlns:patch="http://www.sitecore.net/xmlconfig/" xmlns:role="http://www.sitecore.net/xmlconfig/role/" xmlns:search="http://www.sitecore.net/xmlconfig/search/">
  <sitecore>
    <contentSearch>
      <configuration>
        <indexes>
          <index id="sitecore_web_index" type="Sitecore.ContentSearch.SolrProvider.SolrSearchIndex, Sitecore.ContentSearch.SolrProvider" role:require="ContentDelivery">
            <strategies hint="list:AddStrategy">
              <patch:delete />
            </strategies>
            <strategies hint="list:AddStrategy">
              <strategy ref="contentSearch/indexConfigurations/indexUpdateStrategies/manual" />
            </strategies>
          </index>
          <index id="sitecore_marketingdefinitions_web" type="Sitecore.ContentSearch.SolrProvider.SolrSearchIndex, Sitecore.ContentSearch.SolrProvider" role:require="ContentDelivery">
            <strategies hint="list:AddStrategy">
              <patch:delete />
            </strategies>
            <strategies hint="list:AddStrategy">
              <strategy ref="contentSearch/indexConfigurations/indexUpdateStrategies/manual" />
            </strategies>
          </index>
          <index id="sitecore_marketing_asset_index_web" type="Sitecore.ContentSearch.SolrProvider.SolrSearchIndex, Sitecore.ContentSearch.SolrProvider" role:require="ContentDelivery">
            <strategies hint="list:AddStrategy">
              <patch:delete />
            </strategies>
            <strategies hint="list:AddStrategy">
              <strategy ref="contentSearch/indexConfigurations/indexUpdateStrategies/manual" />
            </strategies>
          </index>
          <index id="sitecore_fxm_web_index" type="Sitecore.ContentSearch.SolrProvider.SolrSearchIndex, Sitecore.ContentSearch.SolrProvider" role:require="ContentDelivery">
            <strategies hint="list:AddStrategy">
              <patch:delete />
            </strategies>
            <strategies hint="list:AddStrategy">
              <strategy ref="contentSearch/indexConfigurations/indexUpdateStrategies/manual" />
            </strategies>
          </index>
        </indexes>
      </configuration>
    </contentSearch>
  </sitecore>
</configuration>

References:

https://doc.sitecore.com/developers/91/platform-administration-and-architecture/en/index-update-strategies.html
https://doc.sitecore.com/developers/91/platform-administration-and-architecture/en/the-search-indexes-required-in-a-scalable-environment.html

One thought on “Sitecore Search Index Update Strategy on Content Delivery

  1. Keep in mind, Manual and Automatic index updates do not work with SOLR in SItecore. SOLR indexes cannot be used with Sitecore 9.3

    Like

Leave a comment