专栏首页飞总聊ITElastic Search飞起来,飞起来!

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这家公司如果都不能发财的话,那大数据这一波热潮,真的只有泡沫,没有真金白银了。所以我看好,非常非常的看好这家公司。

本文分享自微信公众号 - 飞总聊IT(feiitworld)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-10-08

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 林志玲结婚,Cloudera腰斩,大数据药丸

    Cloudera财报以后股票腰斩,CEO辞职,现在作为大数据时代的领头羊的Cloudera已经难看的不能再难看了。

    用户1564362
  • 腾讯领投美国天涯论坛Reddit,估值30亿美元

    根据美国著名的论坛Techcrunch的报道,美国著名的类似天涯论坛的Reddit即将进行一轮巨资融资。该融资由腾讯领投。初始的估值高达27亿美金。根据后续资金...

    用户1564362
  • 互联网企业的开源使用窘境与出路

    1 自从Hadoop生态圈流行开来以后,以Apache基金会为代表的开源社区空前强大,国内外互联网公司都纷纷使用开源软件。然而参与开源社区并非是一件容易的事情。...

    用户1564362
  • 『高级篇』docker之DockerSwarm的了解(27)

    PS:假定运行了一个nginx服务2个实例,nginx1 和nginx2,容器内的端口是80,主机内的端口是8080, 这2个容器分别运行在node2和node...

    IT故事会
  • Redis pipeline(12)原

    Pipeline模式:是一次性发送多个命令,最后一次取回所有的返回结果,这种模式通过减少网络的往返时间和io读写次数,大幅度提高通信性能。

    兜兜毛毛
  • 支持向量机学习笔记:数学过程及经典Tutorial

    http://blog.csdn.net/linj_m/article/details/18322149   ( SVM系列 )

    bear_fish
  • 学习SVM(五)理解线性SVM的松弛因子

    学习SVM(一) SVM模型训练与分类的OpenCV实现 学习SVM(二) 如何理解支持向量机的最大分类间隔 学习SVM(三)理解SVM中的对偶问题 ...

    chaibubble
  • SWARM大法好——Docker1.12 引擎使用体验

    背景 凭借敏捷开发部署理念的推行,相信对于很多人来说docker这项容器技术已经并不陌生,Docker 1.12引擎发布了快两个月,新引擎中包含了许多特性。诸如...

    小小科
  • 如何理解SVM | 支持向量机之我见

    囫囵吞枣看完SVM,个人感觉如果不好好理解一些概念,或说如果知其然而不知其所以然的话,不如不看。因此我想随便写一写,把整个思路简单地整理一遍。:) SVM与神经...

    用户1332428
  • 开发者自述:我是怎样理解支持向量机(SVM)与神经网络的

    SVM与神经网络 支持向量机并不是神经网络,这两个完全是两条不一样的路吧。不过详细来说,线性SVM的计算部分就像一个单层的神经网络一样,而非线性SVM就完全...

    AI研习社

扫码关注云+社区

领取腾讯云代金券