如何 link Sitecore Content Editor 为某个数据模板配置自定义 Solr 搜索索引?
How to link Sitecore Content Editor to a custom Solr search index configured for a certain Data Template?
我已经为特定数据模板创建了自定义 Solr 搜索索引,因为我希望维护基于该模板创建的大量项目。正如您猜想的那样,我将我的项目组织到 Sitecore 项目桶中以获得更好的性能,而且我可以配置我的 Sitecore 前端以利用该自定义 Solr 搜索索引。现在我想在内容编辑器中优化我的项目桶的搜索,但似乎 Sitecore 在任何自定义索引上都采用主索引。如何配置 Sitecore 以使用我的自定义索引?
创建自定义 Solr 索引后,您还应该根据 Sitecore 提供的示例文件之一创建相应的配置文件。例如,对于主数据库,您可以使用 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。
我已经为特定数据模板创建了自定义 Solr 搜索索引,因为我希望维护基于该模板创建的大量项目。正如您猜想的那样,我将我的项目组织到 Sitecore 项目桶中以获得更好的性能,而且我可以配置我的 Sitecore 前端以利用该自定义 Solr 搜索索引。现在我想在内容编辑器中优化我的项目桶的搜索,但似乎 Sitecore 在任何自定义索引上都采用主索引。如何配置 Sitecore 以使用我的自定义索引?
创建自定义 Solr 索引后,您还应该根据 Sitecore 提供的示例文件之一创建相应的配置文件。例如,对于主数据库,您可以使用 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。