1.背景

两年前有机会接触过elasticsearch,但是未做深入学习,只是工作中用到了。越来越发现es是个不错的好东西,所以花了点时间好好学习了下。在学习过程中也发现了一些问题,网上大多资料都很零散,大部分都是实验性的demo,很多问题并没有讲清楚也并没有系统的讲完整一整套方案,所以耐心的摸索和总结了一些东西分享出来。

毕竟当你用生产使用的标准来使用es时会有很多问题,这对你的学习提出来了新的标准。

比如,使用elasticsearch servicewrapper进行自启动的时候难道就没发现它的配置中有一个小bug导致load不了elasticsearch jar包中的class吗。

还有es不同版本之间的差异巨大,比如,1.0中的分布式routing在2.0中进行了巨大差异的修改。原本routing是跟着mapping一起配置的,到了2.0却跟着index动态走了。这个调整的本质目的是好的,让同一个index的不同type都有机会选择shard的片键。如果是跟着mapping走的话就只能限定于当前index的所有type。

es是个好东西,现在越来越多的分布式系统都需要用到它来解决问题。从ELK这种系统层的工具到电商平台的核心业务交易系统的设计都需要它来支撑实时大数据搜索分析。比如,商品中心的上千万的sku需要实时搜索,再到海量的在线订单实时查询都需要用到搜索。

在一些DevOps的工具中都需要es来提供强大的实时搜索功能。值得花点时间好好研究学习下。

网友评论