关于Solr索引性能优化

如何能在有限的服务器资源上较好的使用Solr服务,性能调优是必不可少的。鉴于个人经验,给出几条可调优方法:
1. 配置SolrConfig中的Directory, 不当的Directory会消耗大量的内存或IO资源,当索引规模变大时也很容易导致内存溢出,或索引维护的Map Failed现象!如何选择合适的Directory可参看《Lucene in Action》(第二版) Section2.10 中文本P52;
2. 配置Schema中的字段的 omitNorm= true, Norm中保存了大量的字段信息用于评分排序. 如果不是很必要的话可把omitNorm设置为true能够减少磁盘和内存的使用并加快索引速度,同时只用来索引而不需要显示的字段也可设置indexed=”true” stored=”false”, 具体Norm的作用可参见《Lucene in Action》(第二版) Section2.53 中文本P47;
3. 调整SolrConfig中的合并因子mergeFactor和内存触发机制setRAMBBufferSizeMB。mergeFactor越小,索引合并越频繁,索引段越少,同时,setRAMBBufferSizeMB越小,Writer更新的越频繁,索引段越多;《Lucene in Action》(第二版) Section11
4. 在索引阶段,不进行索引优化能够接受的话,就不进行索引优化optimize(),很耗时的一件事!但是在查询阶段,优化往往能够大幅度提高查询效率,因而如果可以,考虑周期性optimize()或optimize(maxNumSegments);《Lucene in Action》(第二版) Section11

注意:1. 在优化过程中,索引文件很容易占用超过自身文本大小10倍的硬盘空间,因而一定要考虑服务器的资源限制问题!《Lucene in Action》(第二版) Section11 中文本P355
2.字段中必留的三个: uniqueKey:id ,version, text

当然更多的性能调优方案要参考《Lucene in Action》(第二版) Section11 中文本P335, 文中给出很多细节的调优方案,例如如果财力支持的话请购买固态硬盘,哈哈。
推荐大家学Lucene还是去阅读Lucene in action, 看8月份manning出版社要出solr in action了,值得一读
优化任务任重而道远…

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值