Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.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.Net RAMDirectory写回磁盘?_C#_.net_Lucene_Lucene.net_Ramdirectory - Fatal编程技术网

C# 如何将Lucene.Net RAMDirectory写回磁盘?

C# 如何将Lucene.Net RAMDirectory写回磁盘?,c#,.net,lucene,lucene.net,ramdirectory,C#,.net,Lucene,Lucene.net,Ramdirectory,我已经在Lucene.Net和FSDirectory上工作了一段时间,因此我熟悉使用它的基础知识。不过,我现在正试图在可能的情况下使用RAMDirectory重写一些关键代码,以加快索引的使用 只要使用适当的构造函数,将现有的FSDirectory加载到RAMDirectory中就足够简单了。然而,我似乎不知道如何再次将它写回磁盘 我在Java版本中看到了一些关于静态Directory.copy()方法的介绍,但这在Lucene.Net中似乎不存在 这可能吗 更新:原来我使用的是Lucene.N

我已经在Lucene.Net和
FSDirectory
上工作了一段时间,因此我熟悉使用它的基础知识。不过,我现在正试图在可能的情况下使用
RAMDirectory
重写一些关键代码,以加快索引的使用

只要使用适当的构造函数,将现有的FSDirectory加载到RAMDirectory中就足够简单了。然而,我似乎不知道如何再次将它写回磁盘

我在Java版本中看到了一些关于静态Directory.copy()方法的介绍,但这在Lucene.Net中似乎不存在

这可能吗


更新:原来我使用的是Lucene.Net的旧版本,不支持这种方法。官方Lucene.Net网站上的“官方二进制文件”显然已经过时了。感谢CVertex建议使用它在Visual Studio中下载并安装最新版本的Lucene。

目录。复制静态按照Java版本存在

public static void Copy(Lucene.Net.Store.Directory src, Lucene.Net.Store.Directory dest, bool closeDirSrc)
Lucene.Net.Store.Directory的成员


也许你没有找到正确的名称空间。

事实上,我想我可能使用的是旧版本,但我似乎找不到任何更新版本的压缩副本,而且我一辈子都不知道如何从svn.apache.org下载——它只给我目录列表(我需要安装一个svn客户端才能从那里下载吗?)是的,如果获得一个svn客户端,我推荐使用NuGet并从那里下载它(我就是这么做的),它将与最新的官方版本保持同步。使用主干有点危险,因为它总是在不断变化,因为它们与最新的Java版本同步。啊,是的,这是一个更好的选择!谢谢CVertex,这非常简单!