公司的solr线上服务器,分成差不多10个core给不同的部门不同的业务需求来使用。我接手以来,问题多多,烦扰多多。有不少问题亟待解决,首当其冲的是搜索准确度、数据同步。搜索准确度已经通过改用ansj分词器和不断优化的个人词库和停用词库来解决,这是个不断优化的过程,需要长时间的跟进才有明显效果。第二个数据同步问题,其实包括了快捷新建搜索core、搜索性能负载、数据同步和宕机恢复等。以前是各种分散的处理方案。数据同步我自己写了个rest的webservice接口来分别实现,宕机恢复甚至只能手工处理,性能负载是IT运维部门来解决。现在大部分弃用,直接上solrcloud!
花了差不多一周的时间,搞定了solrcloud。其实搭建起来一两个小时就OK了,时间都花在理解原理和进阶使用上,各种问题,头疼,这周也加了不少班,真心很艰辛!有时候想想真是no zuo no die,其实旧有的方案完全是可以用的,而且是自己辛苦写成的,现在要推翻重来,而且要深入理解,随便一个问题都能焦头烂额,我好歹也是搞过nutch、hadoop的人,现在在solrcloud上头疼的程度却是前所未有。solrcloud+zookeeper网上资料可谓多矣,可惜一万篇都可以合成一篇,基本上都是写如何搭建,然后就没了,各种抄袭,各种点到为止。这也是中文开源界的一个不好的现象,大家都反复分享已经有的技术;有难度的技术,大家又不愿意分享。结果找资料,百度上翻了几十页,内容都大差不差。蛋疼的谷歌上不了。WIKI文档又多数是英文的,很少有翻译的,在此要感谢一些把solrcloud的wiki翻译过来的兄弟。啰啰嗦嗦说了好多,其实最终还是想劝告做开发的,多做些原创的东西,多看文档,多理解原理而不是人云亦云。好了,下来写写我开发过程中的心得和教训吧!