Sitecore Solr Index Configuration 设置不同的根路径

Sitecore Solr Index Configuration Set different root path

我需要添加到单个 Solr 索引 2 不同的 sitecore 路径 /sitecore/content/System/My 路径 /sitecore/content/System/My 路径 2 .

我怎样才能以正确的方式做到这一点?

我是否应该将新的 crawler 描述添加到具有新根值的位置部分。我应该在根部分使用 | 拆分器吗?或者我需要复制所有 index 部分在根目录中的新路径吗?

<index id="my_index" type="Sitecore.ContentSearch.SolrProvider.SwitchOnRebuildSolrSearchIndex, Sitecore.ContentSearch.SolrProvider">
    <param desc="name">$(id)</param>
    <param desc="core">myindex</param>
    <param desc="rebuildcore">myindex_swap</param>
    <param desc="propertyStore" ref="contentSearch/databasePropertyStore" param1="$(id)" />
    <configuration ref="contentSearch/indexConfigurations/countryIndexConfiguration" />
    <strategies hint="list:AddStrategy">
        <strategy ref="contentSearch/indexUpdateStrategies/manual" />
    </strategies>
    <locations hint="list:AddCrawler">
        <crawler type="Sitecore.ContentSearch.SitecoreItemCrawler, Sitecore.ContentSearch">
            <Database>web</Database>
            <Root>/sitecore/content/System/My Path</Root>
        </crawler>                          
    </locations>
</index>

只需复制 crawler 并使用与原始标签名称不同的标签名称,例如crawler1。标签名称是什么并不重要,因此您可以使用一些更具体的标签名称,例如newsblogs。重要的是你不能在 locations 标签下有 2 个同名的标签。

具有 2 个根的示例配置:

<locations hint="list:AddCrawler">
    <news type="Sitecore.ContentSearch.SitecoreItemCrawler, Sitecore.ContentSearch">
        <Database>web</Database>
        <Root>/sitecore/content/System/news</Root>
    </news>                          
    <blogs type="Sitecore.ContentSearch.SitecoreItemCrawler, Sitecore.ContentSearch">
        <Database>web</Database>
        <Root>/sitecore/content/System/blogs</Root>
    </blogs>                          
</locations>

我们在位置下使用了多个与抓取工具同名的标签,并且工作正常。支持多个同名标签。