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

dev*_*os1 5 .net c# lucene lucene.net ramdirectory

我一直在使用Lucene.Net并且已经有FSDirectory一段时间了,所以我熟悉使用它的基础知识.但是,我现在尝试使用RAMDirectory's' 来重写一些关键代码,以加快索引使用速度.

只需使用适当的构造函数,就可以将现有的FSDirectory加载到RAMDirectory中.但是,我似乎无法弄清楚我是如何将它再次写回磁盘的.

我在Java版本中看到过一些静态Directory.copy()方法,但Lucene.Net似乎并不存在这种方法.

这可能吗?

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

CVe*_*tex 4

Directory.Copy static 根据 Java 版本存在

public static void Copy(Lucene.Net.Store.Directory src, Lucene.Net.Store.Directory dest, bool closeDirSrc)
Run Code Online (Sandbox Code Playgroud)

Lucene.Net.Store.Directory 成员

也许您没有在正确的名称空间中查找。

  • 我建议使用 NuGet 并从那里下载它(这就是我所做的),它将与最新的官方版本保持同步。使用 trunk 有点危险,因为它总是在不断变化,因为它们与最新的 Java 版本同步。 (3认同)