Umbraco - индекс проверки не обновляется - PullRequest
5 голосов
/ 15 июня 2011

Я использую Umbraco CMS и пытаюсь использовать функцию поиска по сайту, использующую Examine.

Когда я редактирую страницу и публикую ее, индекс проверки не обновляется, поэтому результаты поиска всегда не соответствуютДата.Мне нужно вручную удалить папку Index, чтобы обновить ее.

Разве индекс не должен обновляться автоматически каждый раз, когда вы обновляете содержимое?

Ответы [ 2 ]

4 голосов
/ 16 июня 2011

Я написал класс, который обновляет индекс при публикации.

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

2 голосов
/ 28 апреля 2015

Вы можете вручную обновить индекс с помощью Проверить панель инструментов .

Чтобы автоматически перестраивать индексы при запуске приложения, вы можете добавить эту строку в ExamineIndex.config в каталоге конфигурации

<Examine RebuildOnAppStart="true">

Индексы должны перестраиваться автоматически при публикации / повторной публикации узла содержимого.Если это не работает, возможно, у вас проблема с настройкой Examine.

...