我正在使用Umbraco CMS,并尝试使用其使用Examine的网站搜索功能。
当我编辑页面并发布它时,检查索引不会更新,因此搜索结果总是过时的。我必须手动删除索引文件夹才能更新它。
每次更新内容时,是否应该自动更新索引?
答案 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">
在发布/重新发布内容节点时,索引应自动重建。如果它不起作用,您可能会遇到检查配置问题。