我想在我的开发者PC上有两个不同的Sitecore实例和不同的Solr实例 .
最好的方法是:1 . 创建SOLR的新实例2.以某种方式更改特定sitecore实例的索引名称 .
根据solr文章,它似乎是1种方式 . 对我来说,它看起来不是最佳选择 . 如果是2个案例则是其他问题:如何为sitecore配置指定自定义SOLR索引名称 .
不需要有多个solr实例来运行多个Sitecore实例,每个实例只需要单独的Core .
在同一个Solr实例上为第二个Sitecore实例创建一个新核心,您可以将其称为“Sitecore_instance2”,然后重新启动SOLR服务 .
在 Sitecore.ContentSearch.Solr.Indexes.config, Sitecore.ContentSearch.Solr.Index.Analytics.config 文件中,您需要将每个索引的核心名称更改为"Sitecore_instance2",如下所示:
<param desc="core">Sitecore_instance2</param>
我有超过8个Sitecore项目,都在使用SOLR . 为每个项目创建一个新的SOLR实例只会是一种痛苦,浪费时间和资源 . 我有一个单独的SOLR实例设置,然后通过包含文件设置核心名称 .
您可能需要像这样的配置,只需将其添加到include文件夹:
<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"> <param desc="core">"Your Core Name Here"</param> </index> <index id="sitecore_web_index" type="Sitecore.ContentSearch.SolrProvider.SolrSearchIndex, Sitecore.ContentSearch.SolrProvider"> <param desc="core">"Your Core Name Here"</param> </index> <index id="sitecore_core_index" type="Sitecore.ContentSearch.SolrProvider.SolrSearchIndex, Sitecore.ContentSearch.SolrProvider"> <param desc="core">"Your Core Name Here"</param> </index> <index id="sitecore_analytics_index" type="Sitecore.ContentSearch.SolrProvider.SolrSearchIndex, Sitecore.ContentSearch.SolrProvider"> <param desc="core">"Your Core Name Here"</param> </index> <index id="sitecore_testing_index" type="Sitecore.ContentSearch.SolrProvider.SolrSearchIndex, Sitecore.ContentSearch.SolrProvider"> <param desc="core">"Your Core Name Here"</param> </index> <index id="sitecore_suggested_test_index" type="Sitecore.ContentSearch.SolrProvider.SolrSearchIndex, Sitecore.ContentSearch.SolrProvider"> <param desc="core">"Your Core Name Here"</param> </index> <index id="sitecore_fxm_master_index" type="Sitecore.ContentSearch.SolrProvider.SolrSearchIndex, Sitecore.ContentSearch.SolrProvider"> <param desc="core">"Your Core Name Here"</param> </index> <index id="sitecore_fxm_web_index" type="Sitecore.ContentSearch.SolrProvider.SolrSearchIndex, Sitecore.ContentSearch.SolrProvider"> <param desc="core">"Your Core Name Here"</param> </index> <index id="sitecore_list_index" type="Sitecore.ContentSearch.SolrProvider.SolrSearchIndex, Sitecore.ContentSearch.SolrProvider"> <param desc="core">"Your Core Name Here"</param> </index> <index id="social_messages_master" type="Sitecore.ContentSearch.SolrProvider.SolrSearchIndex, Sitecore.ContentSearch.SolrProvider"> <param desc="core">"Your Core Name Here"</param> </index> <index id="social_messages_web" type="Sitecore.ContentSearch.SolrProvider.SolrSearchIndex, Sitecore.ContentSearch.SolrProvider"> <param desc="core">"Your Core Name Here"</param> </index> <index id="sitecore_marketing_asset_index_master" type="Sitecore.ContentSearch.SolrProvider.SolrSearchIndex, Sitecore.ContentSearch.SolrProvider"> <param desc="core">"Your Core Name Here"</param> </index> <index id="sitecore_marketing_asset_index_web" type="Sitecore.ContentSearch.SolrProvider.SolrSearchIndex, Sitecore.ContentSearch.SolrProvider"> <param desc="core">"Your Core Name Here"</param> </index> </indexes> </configuration> </contentSearch> <settings> <!--<setting name="ContentSearch.Solr.ServiceBaseAddress"> <patch:attribute name="value">http://localhost:8983/solr</patch:attribute> </setting>--> </settings> </sitecore>
虽然您可以在一个实例下运行多个内核,但我仍然希望将不同客户端的内核完全分离 . 我安装了多个实例并在博客上发表了关于它的信息here .
3 回答
不需要有多个solr实例来运行多个Sitecore实例,每个实例只需要单独的Core .
在同一个Solr实例上为第二个Sitecore实例创建一个新核心,您可以将其称为“Sitecore_instance2”,然后重新启动SOLR服务 .
在 Sitecore.ContentSearch.Solr.Indexes.config, Sitecore.ContentSearch.Solr.Index.Analytics.config 文件中,您需要将每个索引的核心名称更改为"Sitecore_instance2",如下所示:
<param desc="core">Sitecore_instance2</param>
我有超过8个Sitecore项目,都在使用SOLR . 为每个项目创建一个新的SOLR实例只会是一种痛苦,浪费时间和资源 . 我有一个单独的SOLR实例设置,然后通过包含文件设置核心名称 .
您可能需要像这样的配置,只需将其添加到include文件夹:
虽然您可以在一个实例下运行多个内核,但我仍然希望将不同客户端的内核完全分离 . 我安装了多个实例并在博客上发表了关于它的信息here .