If you are using Keystone 4.6 or earlier, you may receive this index-related error message after hardening the Sitecore content delivery instance:
Could not find configuration node: contentSearch/indexConfigurations/indexUpdateStrategies/syncMaster
Even if you have followed the SwitchMasterToWeb workarounds from Sitecore’s KB article, the error will not be fully resolved as the standard SwitchMasterToWeb does not contain any references to the Keystone indexes.
I was able to resolve this issue by patching the sitesearch_master and sitesearch_web indexes.
The sitesearch_master index needs to be removed completely as it is not needed in a content delivery instance, and the sitesearch_web index strategy needs to be changed to use a strategy other than syncMaster.
You can update the Keystone.All.SiteSearch.Lucene.Index.config directly, or use a patch, and change the strategy for the sitesearch_web index for all instances to OnPublishEndAsync. It does not need to run as syncMaster on an authoring instance unless you would like authors to be able to preview search results against unpublished content.
The following patch can be used for the sitesearch_master index:
<configuration xmlns:patch="http://www.sitecore.net/xmlconfig/"> <sitecore> <contentSearch> <configuration> <indexes> <index id="sitesearch_master"> <patch:delete /> </index> </indexes> </configuration> </contentSearch> </sitecore> </configuration>
Plan for official product fix
This issue will be resolved in future releases with the addition of Content Delivery-specific configuration file transformations and an example SwitchMasterToWeb that can be used to harden Keystone installations.