有没有办法将索引保存在 RAM 中而不是保存在硬盘上?
我们希望加快搜索速度。
有没有办法将索引保存在 RAM 中而不是保存在硬盘上?
使用RAMDirectory类
此处使用示例
也来自 Lucene 常见问题解答
通常,为了获得更快的索引性能,最好按 RAM 使用情况而不是文档计数进行刷新,并尽可能使用大的 RAM 缓冲区。
编辑: RE: RamDirectory,正如 API 所说 RamDirectory 是内存驻留目录实现。, 它只保留 RAM 中由目录RAMDirecory指定的那些索引
RE:缓存 据我所知,Lucene 通过过滤器缓存搜索结果,请查看@CachingWrapperFilter和QueryWrapperFilter
RAM 磁盘可能是解决此问题的方法。迷你 HOWTO 可在http://www.vanemery.com/Linux/Ramdisk/ramdisk.html获得。挂载 RAM 磁盘作为您的索引目录,您应该已经完成了。
查看RAMDirectory文档。这是一个基本的使用示例。这仅在索引足够小的情况下才有效。