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

Ehs*_*san 4 .net c# lucene lucene.net


是否有Lucene索引文件存储到远程位置,例如我在PC(A),并希望指数我的文档,但把结果存储到像PC(B)是其内部或我支持的一些目录远程位置的方式应该编写自定义代码来支持它吗?

非常感谢准确的回应

sis*_*sve 5

有多种选择,具体取决于您的网络设置.

您可以直接针对作为网络共享发布的远程文件系统工作FSDirectory.Open(@"\\server\index"),但是已经注意到,网络延迟和速度将影响您的索引.

您也可以使用a FSDirectory或a 在本地对其进行索引RAMDirectory,并Directory.Copy(src, dest, closeDirSrc)通过网络共享将其传输到远程位置.这比直接对远程目录工作要快,因为索引期间没有网络开销.

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


Xod*_*rap 1

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