如何将 Lucene.Net RAMDirectory 写回磁盘?
我使用 Lucene.Net 和 FSDirectory 已经有一段时间了,所以我熟悉使用它的基础知识。不过,我现在尝试使用 RAMDirectory 重写一些关键代码,以加快索引的使用速度。
将现有 FSDirectory 加载到 RAMDirectory 中非常简单,只需使用适当的构造函数即可。但是,我似乎不知道如何将其再次写回磁盘。
我在 Java 版本中看到过一些关于静态 Directory.copy() 方法的提及,但这似乎在 Lucene.Net 中不存在。
这可能吗?
更新:原来我使用的是不支持此方法的旧版本 Lucene.Net。 Lucene.Net 官方网站上的“官方二进制文件”显然已经过时了。感谢 CVertex 建议使用 NuGet 在 Visual Studio 中下载并安装最新版本的 Lucene。
I have been working with Lucene.Net and FSDirectory
for some time now, so I am familiar with the basics of working with it. However, I am now attempting to rewrite some key code by using RAMDirectory
's when possible to speed up index use.
Loading an existing FSDirectory into a RAMDirectory is easy enough, just by using the appropriate constructor. However, I can't seem to figure out how I write it back to disk again.
I've seen some mention of a static Directory.copy() method in the Java version, but this doesn't seem to exist in Lucene.Net.
Is this possible?
Update: Turns out I was using an old version of Lucene.Net that didn't support this method. The "official binaries" on the official Lucene.Net site are apparently quite out of date. Thanks to CVertex for suggesting using NuGet to download and install the latest version of Lucene right within Visual Studio.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
Directory.Copy 静态存在于 Java 版本
Lucene.Net.Store.Directory 的成员
中也许您没有在正确的命名空间中查找。
Directory.Copy static exists as per the Java version
Member of Lucene.Net.Store.Directory
Perhaps you're not looking in right namespace.