Sitecore Solr 索引实例

Sitecore Solr Index instance

我想在我的开发人员 PC 上有 2 个不同的 sitecore 实例和不同的 Solr 实例。

最好的方法是什么: 1.创建新的SOLR实例 2. 以某种方式更改特定 sitecore 实例的索引名称。

基于 solr 文章,这似乎是一种方式。对我来说,它看起来并不是最优的。 如果是 2 种情况,那就是另一个问题:如何为 sitecore 配置指定自定义 SOLR 索引名称。

我有 8 个以上的 Sitecore 项目都在使用 SOLR。为每个项目创建一个新的 SOLR 实例只会很痛苦,并且会浪费时间和资源。我有一个 SOLR 实例设置,然后通过包含文件设置核心名称。

您需要这样的配置,只需将其添加到包含文件夹即可:

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

不,对于 运行 多个 Sitecore 实例,您不需要拥有一个以上的 solr 实例,您只需要为每个实例使用单独的 Core。

  1. 在同一个 Solr 上为第二个 Sitecore 实例创建一个新核心 例如,你可以调用它 "Sitecore_instance2" ,然后重启 SOLR 服务。

  2. Sitecore.ContentSearch.Solr.Indexes.config、Sitecore.ContentSearch.Solr.Index.Analytics.config文件中,您需要 将每个索引的核心名称更改为 "Sitecore_instance2" 之类的 这个:

    <param desc="core">Sitecore_instance2</param>

虽然您可以在一个实例下 运行 多个核心,但我仍然喜欢为不同客户端完全分离核心的想法。我安装了多个实例并写了博客 here