2015-10-21 72 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'文件中定義 –