小智 20
您无需停止IndexWriter即可备份索引.
只需使用SnapshotDeletionPolicy,它可以"保护"某个提交点(及其包含的所有文件)被删除.然后,将该提交点中的文件复制到备份中,最后释放提交.
如果备份需要一段时间才能运行 - 只要你没有使用SnapshotDeletionPolicy释放提交点,IndexWriter就不会删除文件(即使它们已经合并在一起).
这为您提供了一致的备份,这是索引的时间点映像,而不会阻止正在进行的索引.
我在Lucene in Action(第2版)中写过这篇文章,并且摘自http://www.manning.com/hatcher3的书(免费),"使用Lucene的热备份",该文章更详细地描述了这一点. .