C# 如何将Lucene.Net RAMDirectory写回磁盘?
我已经在Lucene.Net和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
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,这非常简单!