这是我第一次将Lucence与Sitecore结合使用,我想知道当项目更新/编辑时,该项目的索引是否会自动更新?
如果没有,那么每当项目更新时更新Lucene索引的最佳方法是什么?
关于Index and Searching的Sitecore文档说“每次更新,创建或删除项目时,Sitecore都会运行更新索引的作业”。但我无法对Lucene找到同样的意见。
答案 0 :(得分:2)
您正在查看错误的链接。您提供给我们的链接是6.6链接,但您的问题是Sitecore 7.2标签。从Sitecore 7开始,搜索提供程序已更改。您需要查看Sitecore 7文档。
在Sitecore中,您几乎没有类型的索引更新策略:
OnPublishEndAsynchronousStrategy(onPublishEndAsync):由publish:end和publish:end:remote事件触发,此策略使用事件队列确定要逐步索引的更新数据。如果数据库的历史记录引擎中没有条目,并且在索引的上次更新之后没有时间戳,则此策略不执行任何操作。默认情况下,Sitecore 7根据需要启用事件队列以使用此策略。默认配置将此策略的CheckForThreshold设置设置为true,如果历史记录表指示超过配置的更新项目数,则会导致完整索引重建。在/App_Config/Include/Sitecore.ContentSearch.Lucene.Index.Web.config Web.config包含文件中配置的名为web的默认发布目标数据库的sitecore_web_index索引的默认配置应用此策略,该策略适用于发布目标数据库。您不应将此策略与SynchronousStrategy策略或IntervalAsynchronousStrategy结合使用。您可以将此策略与使用SwitchOnRebuildLuceneIndex实现的索引一起使用,该实现索引到临时目录以避免在索引编制期间影响索引的使用。
RebuildAfterFullPublishStrategy(rebuildAfterFullPublish):此策略在网站发布或任何完整发布事件后执行索引的完全重建。对于单个索引,您不应将此策略与SynchronousStrategy策略结合使用,但您可以将其与其他策略结合使用。如果将此策略与OnPublishEndAsync策略结合使用,请确保在OnPublishEndAsync策略之前注册RebuildAfterFullPublishStrategy。 Sitecore根据配置的顺序调查策略。使用此订单,您可以尽可能使用有效策略(在小型发布操作之后),但不是在完整索引重建之后立即使用。
您可以在此处找到有关sitecore索引策略的更多信息 http://www.sitecore.net/learn/blogs/technical-blogs/john-west-sitecore-blog/posts/2013/04/sitecore-7-index-update-strategies.aspx
答案 1 :(得分:1)
Lucene是默认的Sitecore索引提供商。在干净的Sitecore实例中,它会自动更新索引
每次更新,创建或删除项目
如果你开始搞乱你的配置,你可以用多种方式制动它。