需要 Sitecore 补丁文件帮助

Sitecore patch file help needed

我正在尝试使用下面的补丁文件修补 solr 配置。但是好像不行。

基本上我正在尝试 replace/override 每个环境使用我们自己的命名约定的默认核心。

有人可以检查一下我在这里做错了什么吗:

<configuration xmlns:patch="http://www.sitecore.net/xmlconfig/">
<Sitecore>
    <contentSearch>
        <configuration>
            <indexes hint="list:AddIndex">
                <index id="sitecore_master_index" type="Sitecore.ContentSearch.SolrProvider.SolrSearchIndex, Sitecore.ContentSearch.SolrProvider">
                   <patch:attribute param desc="core">"siteA_dev_$(id)"</param>
                </index>
                <index id="sitecore_web_index" type="Sitecore.ContentSearch.SolrProvider.SolrSearchIndex, Sitecore.ContentSearch.SolrProvider">
                    <param desc="core">"siteA_dev_$(id)"</param>
                    <param desc="rebuildcore">"siteA_dev_$(id)_swap"</param>
                </index>
                <index id="sitecore_core_index" type="Sitecore.ContentSearch.SolrProvider.SolrSearchIndex, Sitecore.ContentSearch.SolrProvider">
                    <param desc="core">"siteA_dev_$(id)"</param>
                </index>
                <index id="sitecore_analytics_index" type="Sitecore.ContentSearch.SolrProvider.SolrSearchIndex, Sitecore.ContentSearch.SolrProvider">
                    <param desc="core">"siteA_dev_$(id)"</param>
                </index>
                <index id="sitecore_testing_index" type="Sitecore.ContentSearch.SolrProvider.SolrSearchIndex, Sitecore.ContentSearch.SolrProvider">
                    <param desc="core">"siteA_dev_$(id)"</param>
                </index>
                <index id="sitecore_suggested_test_index" type="Sitecore.ContentSearch.SolrProvider.SolrSearchIndex, Sitecore.ContentSearch.SolrProvider">
                    <param desc="core">"siteA_dev_$(id)"</param>
                </index>
                <index id="sitecore_fxm_master_index" type="Sitecore.ContentSearch.SolrProvider.SolrSearchIndex, Sitecore.ContentSearch.SolrProvider">
                    <param desc="core">"siteA_dev_$(id)"</param>
                </index>
                <index id="sitecore_fxm_web_index" type="Sitecore.ContentSearch.SolrProvider.SolrSearchIndex, Sitecore.ContentSearch.SolrProvider">
                    <param desc="core">"siteA_dev_$(id)"</param>
                </index>
                <index id="sitecore_list_index" type="Sitecore.ContentSearch.SolrProvider.SolrSearchIndex, Sitecore.ContentSearch.SolrProvider">
                    <param desc="core">"siteA_dev_$(id)"</param>
                </index>
                <index id="social_messages_master" type="Sitecore.ContentSearch.SolrProvider.SolrSearchIndex, Sitecore.ContentSearch.SolrProvider">
                    <param desc="core">"siteA_dev_$(id)"</param>
                </index>
                <index id="social_messages_web" type="Sitecore.ContentSearch.SolrProvider.SolrSearchIndex, Sitecore.ContentSearch.SolrProvider">
                    <param desc="core">"siteA_dev_$(id)"</param>
                </index>
                <index id="sitecore_marketing_asset_index_master" type="Sitecore.ContentSearch.SolrProvider.SolrSearchIndex, Sitecore.ContentSearch.SolrProvider">
                    <param desc="core">"siteA_dev_$(id)"</param>
                </index>
                <index id="sitecore_marketing_asset_index_web" type="Sitecore.ContentSearch.SolrProvider.SolrSearchIndex, Sitecore.ContentSearch.SolrProvider">
                    <param desc="core">"siteA_dev_$(id)"</param>
                </index>
            </indexes>
        </configuration>
    </contentSearch>
    <settings>
        <setting name="ContentSearch.Solr.ServiceBaseAddress">
            <patch:attribute name="value">http://localhost:8983/solr</patch:attribute>
        </setting>
    </settings>
</sitecore>

你不应该使用 patch:attribute。您正在更改标签的值。

<index id="sitecore_master_index" type="Sitecore.ContentSearch.SolrProvider.SolrSearchIndex, Sitecore.ContentSearch.SolrProvider">
    <param desc="core" patch:instead="param[@desc='core']">siteA_dev_$(id)</param>
</index>

patch:attribute 只能用于更改 xml 属性,例如如果您想更改 <index> 标签的 type 属性的值:

<index id="sitecore_master_index">
    <patch:attribute name="type">Custom.Type.Goes.Here</patch:attribute>
</index>