如何将Sitecore内容编辑器链接到为特定数据模板配置的自定义Solr搜索索引?

时间:2019-05-17 18:43:30

标签: optimization solr configuration sitecore

我已经为特定的数据模板创建了自定义的Solr搜索索引,因为我希望保留大量基于该模板创建的项目。您可能会猜到,我将我的物品组织到Sitecore物品桶中以提高性能,而且我可以配置Sitecore前端以利用该自定义Solr搜索索引。现在,我想在内容编辑器中优化我的项目存储区中的搜索,但是似乎Sitecore取代了所有自定义索引使用了主索引。如何配置Sitecore以使用我的自定义索引?

1 个答案:

答案 0 :(得分:1)

一旦创建了自定义的Solr索引,您还应该根据Sitecore提供的示例文件之一创建相应的配置文件。例如,对于Master DB,您可以使用Sitecore.ContentSearch.Solr.Index.Master.config.example作为配置模板,只需将patch:before="*[1]"属性添加到自定义索引定义中,如下所示:

<?xml version="1.0" encoding="utf-8" ?>
<configuration xmlns:patch="http://www.sitecore.net/xmlconfig/">
  <sitecore>
    <contentSearch>
      <configuration type="Sitecore.ContentSearch.ContentSearchConfiguration, Sitecore.ContentSearch">
        <indexes hint="list:AddIndex">
          <index patch:before="*[1]" id="my_sitecore_custom_master_index" type="Sitecore.ContentSearch.SolrProvider.SolrSearchIndex, Sitecore.ContentSearch.SolrProvider">
            <param desc="name">$(id)</param>
            <param desc="core">$(id)</param>
            <param desc="propertyStore" ref="contentSearch/indexConfigurations/databasePropertyStore" param1="$(id)" />
            <configuration ref="contentSearch/indexConfigurations/defaultSolrIndexConfiguration" />
            <strategies hint="list:AddStrategy">
              <strategy ref="contentSearch/indexConfigurations/indexUpdateStrategies/syncMaster" />
            </strategies>
            <locations hint="list:AddCrawler">
              <crawler type="Sitecore.ContentSearch.SitecoreItemCrawler, Sitecore.ContentSearch">
                <Database>master</Database>
                <Root>/sitecore</Root>
              </crawler>
            </locations>
            <enableItemLanguageFallback>false</enableItemLanguageFallback>
            <enableFieldLanguageFallback>false</enableFieldLanguageFallback>
          </index>
        </indexes>
      </configuration>
    </contentSearch>
  </sitecore>
</configuration>

现在,Sitecore将首先加载my_sitecore_custom_master_index索引配置,并在处理自定义项目(而不是默认Sitecore)的任何搜索查询时利用它。