21

有没有办法将索引保存在 RAM 中而不是保存在硬盘上?

我们希望加快搜索速度。

4

3 回答 3

18

有没有办法将索引保存在 RAM 中而不是保存在硬盘上?

使用RAMDirectory

此处使用示例

也来自 Lucene 常见问题解答

提高搜索速度

通常,为了获得更快的索引性能,最好按 RAM 使用情况而不是文档计数进行刷新,并尽可能使用大的 RAM 缓冲区。

还要检查这个问题:

编辑: RE: RamDirectory,正如 API 所说 RamDirectory 是内存驻留目录实现。, 它只保留 RAM 中由目录RAMDirecory指定的那些索引

RE:缓存 据我所知,Lucene 通过过滤器缓存搜索结果,请查看@CachingWrapperFilterQueryWrapperFilter

于 2009-08-18T12:17:38.490 回答
1

RAM 磁盘可能是解决此问题的方法。迷你 HOWTO 可在http://www.vanemery.com/Linux/Ramdisk/ramdisk.html获得。挂载 RAM 磁盘作为您的索引目录,您应该已经完成​​了。

于 2009-08-18T11:52:04.037 回答
1

查看RAMDirectory文档。这是一个基本的使用示例。这仅在索引足够小的情况下才有效。

于 2009-08-18T12:11:34.980 回答