Elastic Search飞起来,飞起来!

栏目: 后端 · 发布时间: 6年前

帮飞总把文章中间和底部的广告(如果有显示的话)各点一下,谢谢大家。

公众号上有人让我聊聊Elastic Search。其实前几天上市前也有人问了,我的留言是这样的:

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”获取联系和授权】

戳这里,看该作者更多好文


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

The Apache Modules Book

The Apache Modules Book

Nick Kew / Prentice Hall PTR / 2007-02-05 / USD 54.99

"Do you learn best by example and experimentation? This book is ideal. Have your favorite editor and compiler ready-you'll encounter example code you'll want to try right away. You've picked the right......一起来看看 《The Apache Modules Book》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

html转js在线工具
html转js在线工具

html转js在线工具