2013-04-18 83 views
0

我想要solr完全刷新而不删除索引,以便可以访问数据,直到完全刷新完成。完整刷新完成后,必须删除旧的索引。我如何做到这一点,请帮助。Solr全新刷新而不删除索引

回答

2

我建议在您的Solr实现中使用multiple cores。一个“活的”核心和一个“ondeck”核心,其中“live”是当前的索引,“ondeck”是你将要刷新的内容。 (注意:您可以将核心命名为对您有意义的任何内容)刷新完成后,您可以发出一个SWAP command实时切换两个核心,而不会对用户造成任何影响(例如,Solr将管理搜索正在对你后面的核心执行)。

我在当前公司的其他几个索引上实现了这个确切的场景,取得了很好的成功。

+0

嗨,谢谢你的回答,它帮了我很多。但是现在我们一旦实施交换,我们就面临着问题。 jvm堆空间正在自动增加,并且我们得到的Java内存不足 – Lohit

+0

交换完成后,我建议删除旧的(现在是“ondeck”)索引中的所有项,因为它仍然是Solr的运行实例,并且会如果加载了项目,则会消耗服务器资源。 –