Skip to content

Instantly share code, notes, and snippets.

@feanz
Last active March 2, 2020 16:15
Show Gist options
  • Save feanz/29df3229f958beeb9f14ec86333f9d3a to your computer and use it in GitHub Desktop.
Save feanz/29df3229f958beeb9f14ec86333f9d3a to your computer and use it in GitHub Desktop.
Sitecore switch on rebuild index for cloud
<?xml version="1.0"?>
<!--For more information on using transformations see the web.config examples at http://go.microsoft.com/fwlink/?LinkId=214134. -->
<configuration xmlns:patch="http://www.sitecore.net/xmlconfig/"
xmlns:env="http://www.sitecore.net/xmlconfig/env/"
xmlns:role="http://www.sitecore.net/xmlconfig/role/"
xmlns:search="http://www.sitecore.net/xmlconfig/search/"
xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
<sitecore search:require="Solr">
<contentSearch env:require="!Local">
<solrOperationsFactory type="Sitecore.ContentSearch.SolrProvider.SolrOperations.SolrOperationsFactory, Sitecore.ContentSearch.SolrProvider" />
<configuration type="Sitecore.ContentSearch.ContentSearchConfiguration, Sitecore.ContentSearch">
<indexes hint="list:AddIndex">
<index id="sitecore_master_index" role:require="!ContentDelivery">
<patch:attribute name="type" value="Sitecore.ContentSearch.SolrProvider.SwitchOnRebuildSolrCloudSearchIndex, Sitecore.ContentSearch.SolrProvider"></patch:attribute>
<param desc="core">
<patch:delete />
</param>
<param desc="rebuildcore">
<patch:delete />
</param>
<param desc="mainalias" patch:after="param[@desc='name']">$(id)_MainAlias</param>
<param desc="rebuildalias" patch:after="param[@desc='mainalias']">$(id)_RebuildAlias</param>
<param desc="collection" patch:after="param[@desc='rebuildalias']">$(id)</param>
<param desc="rebuildcollection" patch:after="param[@desc='collection']">$(id)_rebuild</param>
<param desc="solrOperationsFactory" patch:after="*[@desc='rebuildcollection']" ref="contentSearch/solrOperationsFactory" />
</index>
<index id="sitecore_core_index" role:require="!ContentDelivery">
<patch:attribute name="type" value="Sitecore.ContentSearch.SolrProvider.SwitchOnRebuildSolrCloudSearchIndex, Sitecore.ContentSearch.SolrProvider"></patch:attribute>
<param desc="core">
<patch:delete />
</param>
<param desc="rebuildcore">
<patch:delete />
</param>
<param desc="mainalias" patch:after="param[@desc='name']">$(id)_MainAlias</param>
<param desc="rebuildalias" patch:after="param[@desc='mainalias']">$(id)_RebuildAlias</param>
<param desc="collection" patch:after="param[@desc='rebuildalias']">$(id)</param>
<param desc="rebuildcollection" patch:after="param[@desc='collection']">$(id)_rebuild</param>
<param desc="solrOperationsFactory" patch:after="*[@desc='rebuildcollection']" ref="contentSearch/solrOperationsFactory" />
</index>
<index id="sitecore_web_index">
<!-- For ContentDelivery Start -->
<patch:attribute name="type" role:require="ContentDelivery" value="Sitecore.ContentSearch.SolrProvider.SolrSearchIndex, Sitecore.ContentSearch.SolrProvider"></patch:attribute>
<param desc="core" role:require="ContentDelivery" patch:instead="param[@desc='core']">$(id)_MainAlias</param>
<!-- For ContentDelivery End -->
<!-- For ContentManagement Start -->
<patch:attribute name="type" role:require="!ContentDelivery" value="Sitecore.ContentSearch.SolrProvider.SwitchOnRebuildSolrCloudSearchIndex, Sitecore.ContentSearch.SolrProvider"></patch:attribute>
<param desc="core" role:require="!ContentDelivery">
<patch:delete />
</param>
<param desc="rebuildcore">
<patch:delete />
</param>
<param desc="mainalias" role:require="!ContentDelivery" patch:after="param[@desc='name']">$(id)_MainAlias</param>
<param desc="rebuildalias" role:require="!ContentDelivery" patch:after="param[@desc='mainalias']">$(id)_RebuildAlias</param>
<param desc="collection" role:require="!ContentDelivery" patch:after="param[@desc='rebuildalias']">$(id)</param>
<param desc="rebuildcollection" role:require="!ContentDelivery" patch:after="param[@desc='collection']">$(id)_rebuild</param>
<param desc="solrOperationsFactory" role:require="!ContentDelivery" patch:after="*[@desc='rebuildcollection']" ref="contentSearch/solrOperationsFactory" />
<!-- For ContentManagement End -->
</index>
<index id="sitecore_marketingdefinitions_master" type="Sitecore.ContentSearch.SolrProvider.SolrSearchIndex, Sitecore.ContentSearch.SolrProvider" role:require="!ContentDelivery">
<param desc="core" patch:instead="param[@desc='core']">$(id)</param>
</index>
<index id="sitecore_marketingdefinitions_web" type="Sitecore.ContentSearch.SolrProvider.SolrSearchIndex, Sitecore.ContentSearch.SolrProvider">
<param desc="core" patch:instead="param[@desc='core']">$(id)</param>
</index>
<index id="sitecore_marketing_asset_index_master" type="Sitecore.ContentSearch.SolrProvider.SolrSearchIndex, Sitecore.ContentSearch.SolrProvider" role:require="!ContentDelivery">
<param desc="core" patch:instead="param[@desc='core']">$(id)</param>
</index>
<index id="sitecore_marketing_asset_index_web" type="Sitecore.ContentSearch.SolrProvider.SolrSearchIndex, Sitecore.ContentSearch.SolrProvider">
<param desc="core" patch:instead="param[@desc='core']">$(id)</param>
</index>
<index id="sitecore_testing_index" type="Sitecore.ContentSearch.SolrProvider.SolrSearchIndex, Sitecore.ContentSearch.SolrProvider" role:require="!ContentDelivery">
<param desc="core" patch:instead="param[@desc='core']">$(id)</param>
</index>
<index id="sitecore_suggested_test_index" type="Sitecore.ContentSearch.SolrProvider.SolrSearchIndex, Sitecore.ContentSearch.SolrProvider" role:require="!ContentDelivery">
<param desc="core" patch:instead="param[@desc='core']">$(id)</param>
</index>
<index id="sitecore_fxm_master_index" type="Sitecore.ContentSearch.SolrProvider.SolrSearchIndex, Sitecore.ContentSearch.SolrProvider" role:require="!ContentDelivery">
<param desc="core" patch:instead="param[@desc='core']">$(id)</param>
</index>
<index id="sitecore_fxm_web_index" type="Sitecore.ContentSearch.SolrProvider.SolrSearchIndex, Sitecore.ContentSearch.SolrProvider">
<param desc="core" patch:instead="param[@desc='core']">$(id)</param>
</index>
</indexes>
</configuration>
</contentSearch>
<settings>
<setting name="ContentSearch.Solr.EnableHttpCache">
<patch:attribute name="value">false</patch:attribute>
</setting>
<!-- ENABLE OPTIMIZE ON REBUILD
If enabled, the index optimization command runs when the rebuild is completed.
It is recommended that this setting is disabled for Solr 5.x or later because the optimization command was deprecated.
It can be enabled for Solr 4.x to optimize the indexes after they are rebuilt.
Default vaue: false
-->
<setting name="ContentSearch.Solr.OptimizeOnRebuild.Enabled" value="false" />
<!-- ENFORCES ALIAS CREATION ON INDEX INITIALIZATION
If enabled, index aliases will be created on Solr during the index initialization process.
Default vaue: false
-->
<setting name="ContentSearch.Solr.EnforceAliasCreation" value="true" />
</settings>
</sitecore>
</configuration>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment