将虚拟文件系统与 Lucene.NET 结合使用

发布于 2024-11-19 12:22:00 字数 136 浏览 7 评论 0原文

有没有办法在 Lucene.NET 中使用虚拟文件系统?根据我使用 Lucene 的(中等)经验,我怀疑这里的答案是否定的;但以防万一(...)除非:

或者是否有现有的 Contrib 模块或 Lucene.NET 插件添加了 VFS 支持?

Is there a way to use a virtual filesystem with Lucene.NET? Based on my (moderate) experience with Lucene, I suspect the answer here is no; but just in case (...) barring that:

Or is there an existing Contrib module or add-on for Lucene.NET that adds VFS support?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

别再吹冷风 2024-11-26 12:22:00

您可以通过实现 Lucene.Net.Store.Directory 来做到这一点。这个抽象类的 xmldoc 非常有指导意义:

目录是文件的平面列表。文件可能被写入一次,当
他们被创造了。文件一旦创建,只能被打开
已读或已删除。读取和读取时都允许随机访问
写作。

Java的i/o API不直接使用,而是所有的i/o都是通过它
API。这允许执行以下操作:

  • 实现基于 RAM 的索引;
  • 通过 JDBC 存储在数据库中的实现索引;
  • 将索引实现为单个文件;

目录锁定是通过LockFactory的实例实现的,并且
可以使用 setLockFactory 更改每个 Directory 实例。

以下是实现自定义目录以支持 Azure 的示例

You can do this by implementing Lucene.Net.Store.Directory. The xmldoc for this abstract class is very didactic:

A Directory is a flat list of files. Files may be written once, when
they are created. Once a file is created it may only be opened for
read, or deleted. Random access is permitted both when reading and
writing.

Java's i/o APIs not used directly, but rather all i/o is through this
API. This permits things such as:

  • implementation of RAM-based indices;
  • implementation indices stored in a database, via JDBC;
  • implementation of an index as a single file;

Directory locking is implemented by an instance of LockFactory, and
can be changed for each Directory instance using setLockFactory.

Here's an example of implementing a custom Directory to support Azure.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文