具有相对(和更改)文档路径的lucene索引

时间:2014-04-04 14:06:07

标签: path lucene document relative-path

有没有办法执行以下操作:

  • 在机器“a”上创建一个lucene索引,文档位于“a1”,
  • 将文档移至位置“a2”,
  • 修改索引以反映修改后的路径?

目标是将索引与文档一起移动到CD或USB记忆棒上,文档的相对路径......

2 个答案:

答案 0 :(得分:0)

我想你有/somepath/file中的档案,你想在/otherpath/file下神奇地重新出现它。不幸的是,对索引内容的任何修改都需要重新索引: - (

如果您足以查询静态部分("文件"),我建议您仅对静态部分编制索引。

答案 1 :(得分:0)

您尚未提供问题的完整背景信息。 但是,在新目录上打开新的IndexWriter后,这肯定是可能的(这不是OS文件系统目录,而是Lucene目录,它是OS文件系统目录的抽象)。

如果您已使用Lucene复制了新位置和应用程序中的所有索引文件,请更改索引的位置(假设Lucene的IndexWriter以某种方式读取此位置),您应该全部设置,前提是:所有索引段都使用您正在使用的Lucene版本支持的编解码器。例如:Lucene 3不会读取由Lucene 4索引创建的索引文件。

例如,您可以在Solr中轻松完成此操作。如果您使用Solr Cores,那么您所要做的就是创建一个新核心,复制新核心数据/索引目录中的所有索引文件 - 重新加载核心,您应该全部设置。