我需要提高Lucene搜索查询的性能.我可以使用RAMDirectory吗?它是否可以优化性能?是否有任何索引大小限制?如果有人能列出使用RAMDirectory的优点和缺点,我将不胜感激.
谢谢.
lee*_*eef 13
我比较FSDirectory和RAMDirectory.
- 索引大小为1.4G
- Centos,5G内存
搜索1000个关键字,平均/最小/最大响应时间(毫秒)就在这里
所以,你可以看到RAMDirectory比FSDirectory更快,但在'os file cache warm up'之后,速度差距并不那么明显.RMADirectory的缺点是什么?在我的测试中
RAMDirectory更快,但不会写入磁盘.它只在您的程序运行时才存在,并且必须在每次程序运行时从头开始创建.
如果您的索引足够小以适应RAM,并且您不经常更新它,则可以在磁盘上维护索引,然后使用RAMDirectory(Directory dir)构造函数从中创建RAMDirectory .一旦你支付了加载它的代价,那么查询它应该比查询磁盘上的那个更快.但是要测量差异 - 如果索引可以作为RAMDirectory放入内存中,那么它也可以适合磁盘缓存,因此您可能看不到太多差异.
| 归档时间: |
|
| 查看次数: |
5958 次 |
| 最近记录: |