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)内部支持吗?还是我应该编写自定义代码来支持它 多亏了准确的回答
根据您的网络设置,有几个选项可用 您可以直接针对发布为网络共享的远程文件系统使用
FSDirectory.Open(@“\\server\index”)
,但如前所述,网络延迟和速度将影响索引
您还可以使用FSDirectory
或RAMDirectory
对其进行本地索引,并调用Directory.Copy(src、dest、closeDirSrc)
通过网络共享将其传输到远程位置。这将比直接针对远程目录工作更快,因为在索引期间没有网络开销
如果速度不重要,或者您觉得很冒险,请尝试构建一个自定义目录实现(继承自
目录),它使用您需要的任何传输技术(ftp、电子邮件、信鸽等)。您的意思是为远程目录创建映射驱动器吗?如果远程文件系统不是一个好的解决方案,那么如果我在不同的系统上有多个索引器和一个搜索器来提供搜索,我会怎么做request@Ehsan:我的建议是使用Solr,而不是尝试复制其分布式搜索功能。除此之外,你没有很多选择。