我使用 Lucene.Net 和 FSDirectory
已经有一段时间了,所以我熟悉使用它的基础知识。但是,我现在正尝试在可能的情况下使用 RAMDirectory
来重写一些关键代码,以加快索引的使用。
将现有的 FSDirectory 加载到 RAMDirectory 中非常简单,只需使用适当的构造函数即可。但是,我似乎无法弄清楚如何将它再次写回磁盘。
我在 Java 版本中看到过一些关于静态 Directory.copy() 方法的提及,但这在 Lucene.Net 中似乎不存在。
这可能吗?
更新:原来我使用的是不支持此方法的旧版本的 Lucene.Net。官方 Lucene.Net 站点上的“官方二进制文件”显然已经过时了。感谢 CVertex 建议使用 NuGet在 Visual Studio 中下载并安装最新版本的 Lucene。
最佳答案
Directory.Copy static 根据 Java 版本存在
public static void Copy(Lucene.Net.Store.Directory src, Lucene.Net.Store.Directory dest, bool closeDirSrc)
Lucene.Net.Store.Directory 的成员
也许您没有在正确的命名空间中查找。
关于c# - 如何将 Lucene.Net RAMDirectory 写回磁盘?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4708998/