如何在重建期间维护Lucene索引的可用性?

时间:2013-07-30 14:34:27

标签: sitecore lucene.net sitecore6

在内容传送服务器上重建索引时,搜索该索引的任何组件都会失败(爆炸)。 如何在不导致搜索组件不可用的情况下重建索引?此外,有没有一种标准方法可以解决这个问题?

我用来定期执行重新索引的代码:

 Sitecore.Data.Database db = Sitecore.Configuration.Factory.GetDatabase(DBName);
 Index index = db.Indexes[IndexName];
 index.GetSearcher(db).Close();
 index.Rebuild(db);

提供一些背景信息:

  • Sitecore版本 - 6.4.1(rev.110324)
  • 有必要重建索引,因为它包含来自Sitecore的一些数据和来自外部系统的一些数据。

1 个答案:

答案 0 :(得分:4)

Mark Ursino在帖子How to maintain Sitecore Lucene indexes in huge content delivery webfarm中提出建议:

您可以考虑使用将在内存中运行索引爬网操作的开源Sitecore Lucene Refresher,并将索引提交回文件系统,这样您就不会在重建过程中丢失任何索引内容。