2015-10-21 71 views
0

目前我已经配置IntervalAsynchronousStrategy所有三个数据库(主,网络和核心),它们在指定的时间间隔后重建索引,但我想更改索引策略,以便索引只应在发布后才会发生,而不是在每个指定的时间间隔后。我试图通过定义为仅主数据库配置文件中的以下配置改变策略:Sitecore8:在发布索引策略

<onPublishEndAsync type="Sitecore.ContentSearch.Maintenance.Strategies.OnPublishEndAsynchronousStrategy, Sitecore.ContentSearch"> 
     <param desc="database">master</param> 
     <CheckForThreshold>true</CheckForThreshold> 
</onPublishEndAsync> 

附这一策略与指数:

<indexes hint="list:AddIndex"> 
     <index id="sitecore_master_media_index" type="Sitecore.ContentSearch.LuceneProvider.LuceneIndex, Sitecore.ContentSearch.LuceneProvider"> 
     <param desc="name">$(id)</param> 
     <param desc="folder">$(id)</param> 
     <param desc="propertyStore" ref="contentSearch/indexConfigurations/databasePropertyStore" param1="$(id)" /> 
     <configuration ref="contentSearch/indexConfigurations/defaultLuceneIndexConfiguration" /> 
    <strategies hint="list:AddStrategy"> 
      <strategy ref="contentSearch/indexConfigurations/indexUpdateStrategies/onPublishEndAsync" /> 
     </strategies> 
     <commitPolicyExecutor type="Sitecore.ContentSearch.CommitPolicyExecutor, Sitecore.ContentSearch"> 
      <policies hint="list:AddCommitPolicy"> 
      <policy type="Sitecore.ContentSearch.TimeIntervalCommitPolicy, Sitecore.ContentSearch" /> 
      </policies> 
     </commitPolicyExecutor> 
     <locations hint="list:AddCrawler"> 
      <crawler type="Sitecore.ContentSearch.SitecoreItemCrawler, Sitecore.ContentSearch"> 
      <Database>master</Database> 
      <Root>{9076FDC8-33B3-4B97-AC32-640F3481C37F}</Root> 
      </crawler> 
     </locations> 
     </index> 

出版编辑的项目之前,我从/AppData/indexes删除了“sitecore_master_media_index”的索引文件夹。然后发布该项目,但索引文件夹未在发布后创建。

我是否缺少配置?

+0

Marek的答案适合你吗?如果是,请将其标记为已接受。 –

回答

2

OnPublishEndAsync策略仅适用于作为发布目标的数据库。在大多数情况下,它只有web数据库。此策略仅在启用EventQueue时有效。

对于您的主数据库,您应该使用syncMasterintervalAsyncMaster策略。

欲了解更多详情,请阅读Sitecore: Index Update Strategies来自John West的博客文章。

+0

正如您所建议的那样,我只为“Sitecore_web_media_index”的Web数据库使用了“OnPublishEndAsync”策略,并且还使用了我用过的所有Web索引,但我得到的错误如下: “找不到配置节点:contentSearch/indexConfigurations/indexUpdateStrategies/OnPublishEndAsync“ – Babita

+0

它应该在'Sitecore.ContentSearch.DefaultConfigurations.config'文件中定义 –