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

Path 具有相对(和更改)文档路径的lucene索引,path,lucene,document,relative-path,Path,Lucene,Document,Relative Path,有没有办法做到以下几点: 在机器“a”上创建lucene索引,文档位于位置“a1” 将文档移动到位置“a2” 是否修改索引以反映修改后的路径 目标是将索引和文档一起移动到CD或U盘上,并具有文档的相对路径…我想您在/somepath/file中有一个文件,您希望在/otherpath/file下神奇地重新显示它。不幸的是,对索引内容的任何修改都需要重新编制索引:-( 如果您可以查询静态部分(“文件”),我建议您只为静态部分编制索引。您没有提供问题的完整背景。 但是,在新目录上打开一个新的In

有没有办法做到以下几点:

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

目标是将索引和文档一起移动到CD或U盘上,并具有文档的相对路径…

我想您在
/somepath/file
中有一个文件,您希望在
/otherpath/file
下神奇地重新显示它。不幸的是,对索引内容的任何修改都需要重新编制索引:-(


如果您可以查询静态部分(“文件”),我建议您只为静态部分编制索引。

您没有提供问题的完整背景。 但是,在新目录上打开一个新的IndexWriter之后,这是完全可能的(这不是OS文件系统目录,而是Lucene目录,它是OS文件系统目录的抽象)

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


例如,你可以在Solr中轻松地完成这项工作。如果你使用Solr Cores,那么你所要做的就是制作一个新core,复制新core的数据/索引目录中的所有索引文件-重新加载core,然后你就可以全部设置好了。

我对lucene来说是个新手,因此一定不能清楚地理解这个概念……当然,我可以在t中使用Solromcat移动整个服务器,一切都会好起来的……抱歉,再说一遍:我是新来的……当然我可以在tomcat中使用solr移动整个服务器,一切都会好起来。但是有没有办法在位置“a”为“a1”的数据文件生成lucene文件系统索引,将索引文件和数据文件移动到可移动的位置,如CD或U盘,调整索引文件以反映新情况,然后使用carrot2 workbench读取索引(据我所知,这是唯一具有Aduna群集功能的carrot2实现).所以,如果你上面的解释是我想做的事情的解决方案,那么我应该读什么来了解细节呢?感谢adv.抱歉,我在谷歌搜索其他内容时看到了这条评论:)Lucene索引文件中没有文件系统信息。Lucene在名为“FSDirectory”的类下抽象文件系统细节。在索引和搜索两者时使用目录。例如,如果您使用MMapDirectory,而文件系统不支持它,那么您需要更改用于索引和搜索的目录对象。您不必做任何事情来索引文件,只要lucene版本在不同的服务器上相同,它们就可以被复制。