帮飞总把文章中间和底部的广告(如果有显示的话)各点一下,谢谢大家。
公众号上有人让我聊聊Elastic Search。其实前几天上市前也有人问了,我的留言是这样的:
之后发生的事情,ElasticSearch一上市,股价就翻倍了,IPO35一股的股票开盘就涨到了70,之后一直维持在70以上。这种开盘直接翻倍的IPO,在美股整体大跌的这一天里,也是非常罕见的现象。
那么问题来了,为什么Elastic Search一上市就那么牛逼?问题又来了,为什么飞总在Elastic Search一上市那天没有头版头条的大书特书这个新闻?
第一个问题的答案,我今天试图写一篇文章回答一下。第二个问题的答案,主要原因是飞总其实对全文本搜索和Lucene不太懂。所以飞总就怂了。怕写的不对被大家乱棍打死。今天之所以战战兢兢的跳出来写,是因为后台留言的人太多了。飞总怕不写点东西也会被乱棍打死。所以大家将就着看,飞总将就着写。
Elastic Search自2010年问世以来,就迅速的成为了非结构化数据搜索的事实上的标准软件。如果一定要说一个理由为什么我们见到IPO股价翻倍的话,就是这个东西是真的解决实际问题。在Apache的开源项目里,一直以来都是良莠不齐的。有好用的,有凑合着能用的,还有不好用的。
说到ES, 就不得不说Lucene。Lucene是一个Apache历史悠久的文本搜索引擎,现在一般大家都指代Lucene core。这个引擎提供了一系列的API,给其他项目去使用,和架构不同的搜索引擎服务。Lucene的强大毋庸置疑。但是我们也能想象一下,如果要用Lucene的唯一途径就是通过API访问的话,这无疑也就太傻逼了一些。
Lucene团队有另外一个项目,也是属于开源历史非常悠久的,叫做Solr。在很多时候,Apache Lucene发布新版本的时候都是一个新版本的Lucene伴随着一个新版本的Solr。这个Solr等价于Lucene团队使用自己的Lucene API写的一个搜索引擎应用。
很长一段时间里,Lucene搭配Solr就是这个开源项目的标配。Solr本身并不是一个低质量的开源项目。能够开发出Lucene Core的团队,显然不会去写个傻逼的应用程序去忽悠大家。实际上很多公司,包括亚马逊都用了Apache Solr。Solr本身也是一个高质量的开源项目。
2010年的时候,事情发生了一些变化。有人要对Lucene团队的东西搞点事情。这一年ElasticSearch开源了。这标志着鸠占鹊巢的开始。ElasticSearch同样拿着Lucene core,自己搞出了一个搜索引擎来。这个搜索引擎从此开始和Lucene团队的Solr展开了PK,并且几年时间后就后来居上,把Solr给干翻了。
我之前说过,Solr本身其实挺优秀的一个搜索引擎产品。ElasticSearch到底是怎么把Solr干翻的呢?飞总胡说八道开始了。
Elastic Search相对于Solr来说第一个特点是容易用容易安装。基本上来说不需要太多的配置,装上就可以用。这一点对很多非geek的用户都很重要,毕竟小白还是很多的。
Elastic Search第二个和Solr本质的不同是它意识到了人类搜索的时候除了做全文本搜索以外,很多时候需要做一些查询分析,比如聚合查询啊。它就干脆把这些东西也给做了。而Solr这方便就比较傻逼了一点。
Elastic Search的第三个和Solr的不同是,它的系统一开始就是为了分布式系统而设计的。它内置了Zen模块,可以处理分布式系统的问题。当然这个模块其实也是Elastic Search的bug重灾区。著名的脑裂问题再Elastic Search里很常见。
Solr一开始显然没考虑到这个问题,到后来Solr团队的解决方案是用ZooKeeper去搭一个解决方案。ZooKeeper当然是个很成熟的Apache开源项目。但是用另外一个开源项目去解决自己的问题,无疑还是显得更加厚重了。
至于其他的很多优点,比如说Elastic Search的系统架构很优美,是标准的框架和组件模式,允许不同的人轻易的替换各种组件。比如说Elastic Search里索引建立速度很快,从数据导入到检索1秒就够了等等,都是Elastic Search牛逼的地方。
所以很多人这样说,如果你要新上一艘船,又可以忍受脑裂问题偶尔抽风的话,那就上Elastic Search吧。尽管它有这样那样的问题,它还是一艘很好使的船。如果你在Solr上待很久, 那就继续待着吧。Solr其实也挺好的,就是有点老古董,很厚重。
实际的情况是大家都更喜欢Elastic Search。很多大客户都切换过来了,其中就有全球最大的同性恋交友网站GitHub。其实Solr还是有很多忠实的客户的,比如说Amazon的AWS推出的CloudSearch就是拿Solr改的。但是架不住大家都爱Elastic Search,AWS在一段坚持一段犹豫之后,也终于又推出了Elastic Search服务。所以我觉得Elastic Search这个壳,顺利的把Lucene团队的core给发挥的淋漓尽致,并干翻了Lucene团队自己的壳了。
值得一提的是Elastic Search的框架设计非常的优雅,是经典的框架插件模式。这说明Elastic Search一开始就知道自己将来要怎么赢利。在一个框架插件的生态圈里,我们是应该开源框架,卖收费的插件赚钱呢?还是开源插件,卖收费的框架赚钱呢?答案是显而易见的。
Elastic Search开源了整个框架,但是插件并非都是开源的。你既可以选择自己投入人员去写插件,也可以花钱买我写好的插件嘛。所以Elastic Search这个软件虽然很好,但是对那些权限管理啊之类的企业级用户很有必要的功能,对不起了,开源的框架里没有,插件有。呵呵。
写这个软件的人,不但软件写的好用,而且想清楚了怎么开源壮大社区,怎么通过插件赚钱,无疑是个天才的天才。Elastic Search这家公司如果都不能发财的话,那大数据这一波热潮,真的只有泡沫,没有真金白银了。所以我看好,非常非常的看好这家公司。
【本文为51CTO专栏作者“徐飞”的原创稿件,转载请通过作者微信公众号“飞总聊IT”获取联系和授权】
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
从界面到网络空间
(美)海姆 / 金吾伦/刘钢 / 上海科技教育出版社 / 2000-7 / 16.40元
计算机急剧改变了20世纪的生活。今天,我们凭借遍及全球的计算机网络加速了过去以广播、报纸和电视形式进行的交流。思想风驰电掣般在全球翻飞。仅在角落中潜伏着已完善的虚拟实在。在虚拟实在吕,我们能将自己沉浸于感官模拟,不仅对现实世界,也对假想世界。当我们开始在真实世界与虚拟世界之间转换时,迈克尔·海姆问,我们对实在的感觉如何改变?在〈从界面到网络空间〉中,海姆探讨了这一问题,以及信息时代其他哲学问题。他......一起来看看 《从界面到网络空间》 这本书的介绍吧!