Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将Lucene索引文件存储到远程位置_C#_.net_Lucene_Lucene.net - Fatal编程技术网

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

C# 将Lucene索引文件存储到远程位置,c#,.net,lucene,lucene.net,C#,.net,Lucene,Lucene.net,嗨 有没有办法将lucene索引文件存储到远程位置?例如,我在PC上(a),想为我的文档编制索引,但将结果存储到远程位置,就像PC上的某个目录一样(B)内部支持吗?还是我应该编写自定义代码来支持它 多亏了准确的回答 我不确定您是如何连接到“远程位置”的,但如果您可以将PC(B)作为文件系统的一部分安装,您可以将索引放在那里,而无需做任何特殊的操作 也就是说,远程文件系统比本地文件系统更重要 根据您的网络设置,有几个选项可用 您可以直接针对发布为网络共享的远程文件系统使用FSDirectory.O


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

多亏了准确的回答

  • 我不确定您是如何连接到“远程位置”的,但如果您可以将PC(B)作为文件系统的一部分安装,您可以将索引放在那里,而无需做任何特殊的操作
  • 也就是说,远程文件系统比本地文件系统更重要

  • 根据您的网络设置,有几个选项可用

    您可以直接针对发布为网络共享的远程文件系统使用
    FSDirectory.Open(@“\\server\index”)
    ,但如前所述,网络延迟和速度将影响索引

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


    如果速度不重要,或者您觉得很冒险,请尝试构建一个自定义目录实现(继承自
    目录
    ),它使用您需要的任何传输技术(ftp、电子邮件、信鸽等)。

    您的意思是为远程目录创建映射驱动器吗?如果远程文件系统不是一个好的解决方案,那么如果我在不同的系统上有多个索引器和一个搜索器来提供搜索,我会怎么做request@Ehsan:我的建议是使用Solr,而不是尝试复制其分布式搜索功能。除此之外,你没有很多选择。