Umbraco - 检查索引未更新

时间:2011-06-15 01:23:48

标签: search umbraco

我正在使用Umbraco CMS,并尝试使用其使用Examine的网站搜索功能。

当我编辑页面并发布它时,检查索引不会更新,因此搜索结果总是过时的。我必须手动删除索引文件夹才能更新它。

每次更新内容时,是否应该自动更新索引?

2 个答案:

答案 0 :(得分: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
  }
}

然而,即使它应该在“发布后”运行,它也不会获得最新的更改。因此,要使搜索结果保持最新,您必须发布两次:S

答案 1 :(得分:2)

您可以使用Examine Dashboard手动更新索引。

要在应用启动时自动重建索引,您可以将此行添加到位于config目录中的ExamineIndex.config

<Examine RebuildOnAppStart="true">

在发布/重新发布内容节点时,索引应自动重建。如果它不起作用,您可能会遇到检查配置问题。