2013-07-12 157 views
5

在我们的sitecore项目(6.6.0 rev。130404)中,我们有超过200万个sitecore项目。我们有几个Lucene索引(每个都是这些项目的一个子集)配置。我们面临的问题是新鲜重建这些索引所需的时间。特别是使用Sitecore的QuickSearch索引,除了我们的自定义索引之外,重建该索引可能需要将近一整天的时间。Sitecore索引重建实践

在日常运营中维护大型sitecore索引后,通常的做法是什么?多久你需要重建索引?当你这样做时,如何应对长时间的网站停机时间(索引重建使索引离线)?

回答

4

如果你有多个服务器,你可以从他们的一个从负载平衡器(或以任何其他方式提供的内容将其停止),并重建该服务器上的索引。完成后,只需将其放回负载平衡器即可。您可以尝试使用Sitecore Lucene Refresher

看看how to maintain sitecore lucene indexes in huge content delivery webfarm了解更多选项。我认为

+0

感谢马拉什,你一直在帮助我们的项目很多。 我们的网站没有独立的内容交付方面。内容创建和交付合并在一起。 (我们的内容创作者和观众是公共用户)。因此,当我们重建索引时,我们不能只是“冻结”内容传递。我们不妨把网站放下。 Sitecore Lucene复习似乎是值得一看的东西。我会在这里发表我的反馈。谢谢你的提示! – ravinsp

1

的一种方法是,您可以根据您网站上的部分/页面/内容,打破你的指标,取决于什么样的数据/结构你有,以及它如何有意义打破他们在部分,所以你将有2-20,30,40等等索引,它们可以通过使用<root>标签配置ADBC配置中的每个索引,这样,你就应该知道你在哪个网站的部分制作了更新,只有在需要时才可以在该索引上重建重建。

一般而言,您不需要始终重建所有索引,据我所知/记住发布会正确推送更新的索引我认为,但它不会重新生成整个事情。

我想重建整个索引,如果你安装在新的环境中的网站,或索引是从服务器由于某种原因,或者一些类似的情况下删除唯一的情况....

1

如果你升级到Sitecore 7.2,你可以使用SwitchOnRebuildLuceneIndex索引。这将在您执行索引重建操作时提供工作索引。

<index id="your_index" type="Sitecore.ContentSearch.LuceneProvider.SwitchOnRebuildLuceneIndex, Sitecore.ContentSearch.LuceneProvider"> 
... 
</index> 

见约翰西方人对于细节的职位:http://www.sitecore.net/deutsch/Community/Technical-Blogs/John-West-Sitecore-Blog/Posts/2013/05/Sitecore-7-Rebuild-Lucene-Indexes-in-Temporary-Subdirectories.aspx