如何设置参数 - setRAMBufferSizeMB?取决于机器的RAM大小?或需要被索引的数据的大小?还是其他参数?有人可能会建议一种方法来决定setRAMBufferSizeMB的值。配置Lucene索引写入器,控制段形成(setRAMBufferSizeMB)
0
A
回答
0
所以,我们对这个参数在Lucene的的javadoc:
确定可用于缓冲加入 文件和删除它们被刷新到该目录之前的RAM容量。 通常,为了加快索引性能,最好使用RAM 而不是文档计数,并使用与您的 一样大的RAM缓冲区。设置此项时,只要缓冲区 文档和删除使用了这么多的RAM,写入器就会刷新。
最大内存限制是由JVM可用的内存决定的。然而,IndexWriter会话会消耗比给定的RAM限制大得多的内存量,因为当将内存驻留文档刷新到目录时,此限制仅仅是 指示符。 冲洗可能会同时发生,而其他线程将 文档添加到作者。为了应用程序的稳定性,JVM中可用的内存应该明显大于用于索引的RAM缓冲区 。
默认情况下,Lucene使用16 Mb作为这个参数(这对我来说是指示,你不应该有那么大的参数才能有很好的索引速度)。我建议你通过设置它来调整这个参数,让我们说500 Mb并检查你的系统表现如何。如果你会崩溃,你可以尝试一些像200 Mb等较小的值,直到你的系统稳定。
是的,正如它在javadoc中说的那样,这个参数取决于JVM堆,但对于Python来说,我认为它可以没有任何限制地分配内存。
相关问题
- 1. 同时写入Lucene索引
- 2. lucene索引匹配
- 3. 设置lucene字段的索引属性?
- 4. Lucene索引复制
- 5. 索引字段的Lucene 4.2分析器
- 6. Lucene多值字段索引
- 7. 写入后优化lucene索引是否是强制性的?
- 8. Sitecore 6.6 - 设置Lucene索引
- 9. 笨负载的captcha控制器插入索引控制器
- 10. Lucene索引字段不可搜索
- 11. Lucene自动索引器
- 12. NoMethodError在控制器#索引
- 13. 搜索Lucene索引
- 14. 搜索Lucene索引
- 15. Lucene索引搜索
- 16. 如何使lucene索引字段不区分大小写
- 17. Apache lucene索引
- 18. Zend Lucene索引
- 19. Lucene索引
- 20. Jackrabbit Lucene索引
- 21. Lucene索引MAXFieldLength
- 22. Lucene索引
- 23. 显示Lucene/Elasticsearch索引的字段
- 24. Lucene索引段文件没有找到
- 25. 从lucene索引获取字段标记
- 26. Lucene的通配符施加到索引字段
- 27. Xamarin形成控制库引用错误
- 28. Lucene:通配符缺少索引
- 29. 从Lucene索引中提取搭配词
- 30. 线程安全写入Lucene索引文件