在Jackrabbit存储库之间复制Lucene索引

时间:2012-07-03 10:37:37

标签: jackrabbit cq5 crx

我有两个包含相同内容的Jackrabbit实例。重建Lucene索引很慢,超过30小时,并且群集中所需的停机时间存在风险。是否有可能只重新索引一个Jackrabbit,然后将Lucene索引从该实例复制到另一个?

天真地复制工作空间目录下的Lucene索引文件不起作用。问题似乎是内容由文档编号索引,该文档编号映射到映射到索引节点的JCR路径的UUID,但这些UUID对于Jackrabbit实例之间的给定路径不稳定。 (两者实际上是通过CQ作者实例的复制填充的Day CQ发布者实例。)

我设法找到下/ JCR资源库中的UUID-to-path映射:系统/ JCR:versionStorage /但我不能看到一个简单的方法与Lucene索引一起存储库之间复制此。然后我无法在文件中的任何位置找到UUID->文档ID映射 ​​- 这也是Lucene索引的一部分吗?

感谢您的帮助。我倾向于单独重新索引第二个实例并接受停机时间,但任何降低风险的想法或重新索引集群的时间都会受到赞赏!


最后我们将重新索引它们两条路线:我们设法将一个测试实例重新用作一个额外的实时实例,我们可以暂时放入该农场,而我们将另外两个放入转向重新索引。但是我仍然有兴趣听到更好的方法来做到这一点!

1 个答案:

答案 0 :(得分:2)

老实说,这似乎是一个可怕的想法。我不确定是否有任何方法可以保证您拥有相同的基础数据,即使内容和硬件配置相同。

如果您的性能数字与我们的相符,则复制整个存储库的时间少于重新索引所需的时间。您是否考虑过重新编制一个存储库,进行备份/复制,然后将备份/复制配置为第二个实例?