Lucene 中的更快搜索 - 有没有办法将整个索引保存在 RAM 中?
有没有办法将索引保存在 RAM 中而不是保存在硬盘上?
我们希望加快搜索速度。
Is there a way of keeping the index in RAM instead of keeping it on the hard disk?
We want to make searching faster.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
有没有办法将索引保存在 RAM 中而不是保存在硬盘上?
使用 RAMDirectory class
SampleUsage 此处< /strong>
同样来自 Lucene 常见问题解答
ImproveSearchingSpeed
通常,为了获得更快的索引性能,最好按 RAM 使用情况而不是文档计数进行刷新,并使用尽可能大的 RAM 缓冲区。
另请检查此问题:
编辑: RE:RamDirectory,正如 API 所说 RamDirectory 是 A内存驻留目录实现。,它仅将目录指定的那些索引保留在 RAM 中RAMDirecory
RE:缓存 据我所知,Lucene 通过过滤器来缓存搜索结果,请查看 @ CachingWrapperFilter 和 查询包装过滤器
Is there a way of keeping the index in RAM instead of keeping it on the hard disk?
Using the RAMDirectory class
SampleUsage here
Also from the Lucene FAQs
ImproveSearchingSpeed
Generally for faster indexing performance it's best to flush by RAM usage instead of document count and use as large a RAM buffer as you can.
Also check this question:
EDIT: RE: RamDirectory, As the API says RamDirectory is A memory-resident Directory implementation., it keeps only those index in RAM as specified by directory RAMDirecory
RE:Caching In my knowledge, Lucene caches search results by means of filters pls look @ CachingWrapperFilter and QueryWrapperFilter
RAM 磁盘可能是一个解决方案。迷你 HOWTO 位于 http://www.vanemery.com/Linux/Ramdisk /ramdisk.html。将 RAM 磁盘挂载为索引目录,这样就完成了。
A RAM disk could be a solution for this. A mini-HOWTO is available at http://www.vanemery.com/Linux/Ramdisk/ramdisk.html. Mount the RAM disk as your index directory, and you should be done.
查看 RAMDirectory 文档。这是一个基本用法示例。仅当索引足够小时,这才有效。
Check out the RAMDirectory documentation. Here's a basic usage example. This will only work if the index is small enough.