将Lucene索引文件存储到远程位置

时间:2011-01-10 07:08:24

标签: c# .net lucene lucene.net

您好
有没有办法将lucene索引文件存储到远程位置,例如我在PC(A)上并想要索引我的文档但是将结果存储到远程位置,就像PC上的某个目录(B)是内部支持还是我应该编写自定义代码来支持它?

非常感谢准确的回复

2 个答案:

答案 0 :(得分:5)

根据您的网络设置,有多种选择。

您可以直接对作为与FSDirectory.Open(@"\\server\index")共享的网络共享的远程文件系统进行操作,但正如已经指出的那样,网络延迟和速度将影响您的索引。

您也可以使用FSDirectoryRAMDirectory在本地对其进行索引,然后拨打Directory.Copy(src, dest, closeDirSrc)将其通过网络共享传输到您的远程位置。这比直接针对远程目录更快,因为索引期间没有网络开销。

如果速度无关紧要,或者你有冒险精神,请尝试构建一个自定义目录实现(继承自Directory),它使用您需要的任何传输技术(ftp,电子邮件,载体鸽等)。

答案 1 :(得分:1)

  1. 我不确定你是如何连接到“远程位置”的,但是如果你可以将PC(B)作为文件系统的一部分安装,你可以将你的索引放在那里而不做任何特别的事情。
  2. 话虽如此,远程文件系统slower比本地文件系统