2011-06-15 15 views
4

Umbraco CMSを使用しており、調査を使用するサイト検索機能を使用しようとしています。Umbraco - 調査インデックスが更新されていません

ページを編集して公開すると、検査インデックスは更新されないため、検索結果は常に最新ではありません。インデックスフォルダを手動で削除して更新する必要があります。

コンテンツを更新するたびにインデックスが自動的に更新されるべきではありませんか?

答えて

4

公開時にインデックスを更新するクラスを作成しました。

using umbraco.BusinessLogic; 
using umbraco.cms.businesslogic.web; 
using Examine; 

public class UmbracoEvents: ApplicationBase 
{ 
    /// <summary>Constructor</summary> 
    public UmbracoEvents() 
    { 
    Document.AfterPublish += new Document.PublishEventHandler(Document_AfterPublish); 
    } 

    private void Document_AfterPublish(Document sender, umbraco.cms.businesslogic.PublishEventArgs e) 
    { 
    // Rebuild SiteSearchIndexer 
    ExamineManager.Instance.IndexProviderCollection["SiteSearchIndexer"].RebuildIndex(); // Unfortunately this doesn't index the latest change, must republish to index it 
    } 
} 

ただし、「公開後」に実行するとしても、最新の変更は適用されません。したがって、検索結果を最新の状態にするためには、2回公開する必要があります。S

2

Examine Dashboardを使用してインデックスを手動で更新できます。

が自動的にアプリの起動時にインデックスを再構築するには、あなたがパブリッシュ/コンテンツノードを再発行する場合

<Examine RebuildOnAppStart="true"> 

インデックスが自動的に再構築する必要がありconfigディレクトリにありますExamineIndex.configにこの行を追加することができます。それでも問題が解決しない場合は、Examineの設定に問題がある可能性があります。

+0

注:Examine設定はここにあります:https://our.umbraco.org/documentation/Reference/Config/ExamineSettings/ – cvocvo

関連する問題