设为首页 收藏本站
查看: 1421|回复: 0

[经验分享] Solr应用指南

[复制链接]

尚未签到

发表于 2015-7-16 11:22:32 | 显示全部楼层 |阅读模式
  关于如何提高Solr的性能问题,可以参见Solr的官方指南:http://wiki.apache.org/solr/SolrPerformanceFactors,对于Lucene的性能问题,可以参考Lucene的官方指南:http://wiki.apache.org/lucene-java/BasicsOfPerformance。以下是本人在Solr应用中的一些小小的经验。
  
  1.关于系统平台的选择。本人建议部署在linux系统下,JRE和Tomcat最好采用最新版本,linux也要参考网上的一些资料,对其进行优化。根据实际软硬件,优化tomcat和jvm参数,tomcat采用nio connector。
  
  2. 建议最好采用复制模式。采用复制模式,读写分离,可以同时保证Solr的检索查询和创建索引都具有比较高的性能。复制条件可以根据需求选择commit和optimize触发复制。对于实时要求不高,可以考虑选择optimize后复制。对于作为master,一定要根据索引提交的频度,设置maxWarmingSearchers。

  3.推荐使用Solr的javabin协议,以达到的更好性能,据我了解,在.net客户端中,只有本人开发的EasyNet.Solr(http://easynet.codeplex.com)支持,并且简单,容易维护和扩展。
  
  4.对于索引更新,当原始数据比较小时,可以用定时任务去更新,一般几万条数据,包括读取数据、提交索引、优化索引,不会超过5分钟。对于大数据量的数据,可以分布式索引。对于实时性要求比较高可以通过队列服务进行处理更新。
  
  5.本人建议不要轻易对Solr的查询解析器进行改动,最好根据需求和实际情况,放在前端处理。比如对于帮助中心,可能对于查询有些要求:需要分词、需要标题符合条件的标题优先显示等等,对于这种情况,可以做一个前端统一服务进行处理,对于用户输入词进行分词,一般是用户输入词的权重最高,然后重新构建查询,给标题也加上权重,这样检索基本就符合要求了。
  
  6.建议开启Solr的Http Cache。我个人习惯用304,这样当索引没有变动时,直接读取缓存里面的数据。
  
  7.不建议Solr直接用于外网服务,我会创建一个统一的检索服务层,用于服务的预处理及一些比较的逻辑处理,比如:身份验证、服务路由、分词预处理、检索调用日志、对于返回数据的复合处理等等。

  
  8.前期对于schema的定义一定要形成规范,比如我喜欢尽可能和数据库字段名称保持一直,这样在查找问题时也很容易。需要高亮、Facet查询、前台显示需求的字段需要设置stored=true,对于需要检索要设置indexed=true。尽可能不要过多把字段设置stored=true,当数据量比较大的时候,还是比较影响性能的。
  
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-87255-1-1.html 上篇帖子: .net软件xcopy形式集成solr搜索引擎 下篇帖子: Solr系列:Linux下部署Solr
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表