2015-10-13 82 views
0

我试图用下面的补丁文件修补solr配置。但它似乎并没有工作。需要Sitecore补丁文件帮助

基本上我试图用我们自己的命名约定来替换/覆盖默认的核心每个环境。

可能有人请查看我在做什么错在这里:

<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> 
+0

*不奏效* - 究竟怎么了?配置不会改变,或?.. –

+0

是的,配置不会改变核心值不会被改变。 –

回答

3

你不应该使用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> 
+0

我得到Marek以下: 无法创建类型的实例:Sitecore.ContentSearch.SolrProvider.SolrSearchIndex。没有找到匹配的构造函数。 –

+0

发生这种情况时,您的补丁文件在包含**之前**原始索引定义。 Sitecore试图创建一个只有1个参数的新索引对象,并且没有只有1个参数的构造函数。确保你把你的补丁文件放在'/ App_Config/Include/ZZZ.MyPatches'文件夹或其他一些以'Z'字母开头的文件夹中。 –

+0

谢谢,那个错误消失了。关于Solr,Solr Admin上的solr核心名称是否必须与核心文件夹的名称相匹配?例如我创建了核心名称siteA_dev_core_index,并提供了文件夹路径/ siteA/dev/core_index –