I am setting up an existing site to use separate authoring and delivery servers. We have configured the onPublishEndAsync event to use the web database, and check for threshold is set to true. When I publish the site, and look at the logs: My authoring server has rebuilt the indexes appropriately, however, the indexes on the CD server are out of date.
Is there a configuration that will force my CD environment to detect when it's source database has been published to and initiate at least an incremental build?
Sitecore 8.0.150812 (also patched with https://kb.sitecore.net/articles/992608)
The Sitecore.ContentSearch.DefaultConfigurations.config has the following relevant setting:
<onPublishEndAsync type="Sitecore.Support.ContentSearch.Maintenance.Strategies.OnPublishEndAsynchronousStrategy, Sitecore.Support.440383.449997">
<param desc="database">web</param>
<!-- Whether or not a full index rebuild should be triggered when the number of items in the EventQueue exceeds the number specified
in ContentSearch.FullRebuildItemCountThreshold. -->
<CheckForThreshold>true</CheckForThreshold>
</onPublishEndAsync>
Here is a portion of one of the custom indexes:
<index id="custom_index"
type="Sitecore.ContentSearch.LuceneProvider.LuceneIndex, Sitecore.ContentSearch.LuceneProvider">
<param desc="name">$(id)</param>
<param desc="folder">$(id)</param>
<!-- This initializes index property store. Id has to be set to the index id -->
<param desc="propertyStore" ref="contentSearch/indexConfigurations/databasePropertyStore" param1="$(id)" />
<configuration ref="contentSearch/indexConfigurations/eventIndexConfiguration" />
<strategies hint="list:AddStrategy">
<!-- NOTE: order of these is controls the execution order -->
<strategy ref="contentSearch/indexConfigurations/indexUpdateStrategies/onPublishEndAsync" />
<strategy ref="contentSearch/indexConfigurations/indexUpdateStrategies/intervalAsyncMaster" />
</strategies>
<commitPolicyExecutor type="Sitecore.ContentSearch.CommitPolicyExecutor, Sitecore.ContentSearch">
<policies hint="list:AddCommitPolicy">
<policy type="Sitecore.ContentSearch.TimeIntervalCommitPolicy, Sitecore.ContentSearch" />
</policies>
</commitPolicyExecutor>
<locations hint="list:AddCrawler">
<crawler type="Sitecore.ContentSearch.SitecoreItemCrawler, Sitecore.ContentSearch">
<Database>master</Database>
<Root>/sitecore/content/mysites/Home</Root>
</crawler>
</locations>
</index>