【问题标题】:Lucene RAMDirectory deprecated - how to keep Directory RAM-only anyway?Lucene RAMDirectory 已弃用-无论如何如何保留仅目录 RAM?
【发布时间】:2021-07-07 06:40:55
【问题描述】:

我目前正在使用 org.apache.lucene.store.RAMDirectory 类来实现基于 RAM 的快速索引,而无需硬盘写入权限。 RAM 大小和持久性不是限制因素。但是,RAMDirectory 被标记为已弃用,并且根据其API 似乎对于大型索引也存在问题。

所以我的问题是,对于已弃用的 RAMDirectory仅 RAM 的替代方案是什么?

在硬盘上写任何东西对我来说都是不可能的(只读),而且在我自己的系统上似乎也有点慢。我正在考虑将FSDDirectory 与 RAMDisk 一起使用,但找不到仅使用 java / jar 创建所述 RAMDisk 的方法(再次需要更改系统)。

【问题讨论】:

    标签: java lucene


    【解决方案1】:

    ByteBuffersDirectoryRAMDirectory 的替代品。

    下面的图表清楚地说明了为什么RAMDiretory 被贬值然后被删除。 BBDIR 是ByteBuffersDirectory,RAMDIR 是RAMDirectory

    Dawid Weiss 绘制的图表。来源:LUCENE-8438 并在 Apache 2.0 许可下显示。 .

    【讨论】:

    • 我并不是在为 RAMDirectory 争论,恰恰相反,我正在寻找替代品,但无法找到没有磁盘写入权限的替代品。非常感谢,这正是我想要的!
    【解决方案2】:

    你也可以只创建一个ramdisk

    【讨论】:

    • 如果你有办法从我运行的 java 程序中创建一个 ramdisk,我会全力以赴。如果它是关于创建具有额外安装和系统访问权限的 ramdisk,我已经特别提到那不是一个选项。
    • 哦。我太快了。不过好像有:stackoverflow.com/questions/4428217/…
    • 谢谢,这个链接很有帮助 - 似乎没有办法(如,没有非常广泛的自己的补充)只有 java 的 ramdisk。
    猜你喜欢
    • 2012-05-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-31
    • 2018-03-12
    • 2017-08-21
    相关资源
    最近更新 更多