搜索概述

最近比较流行的段子是调侃搜狗CEO王小川,说他终于可以找女朋友了,因为之前王小川曾说过,搜狗不上市,就不找女朋友,搜狗终于宣布要赴美IPO了。

王小川最出名的是三级火箭理论,所谓的三级火箭,相信很多人都有所耳闻,依靠输入法的优势,提高浏览器的安装量,进而向用户推销自家的搜索引擎,然并卵,这个理论和绑定流氓软件的思路差不多。其实搜狗之所以能活下来,依靠的是腾讯的加持,包括QQ浏览器,以及移动端的微信一系列APP的流量导入。

不说搜狗,讲讲搜狗干的活,就提到了很有意思的东西,搜索。不得不说,这个东西牛逼,成就了互联网时代最伟大的公司Google,以及他国内的模仿者百度。

1、搜索能干什么

说到搜索,前面写过一篇《搜索简史》,讨论了搜索历史以来的几个阶段和未来的一个发展方向,结合AI,尤其是NLP是自然的选择,更智能的搜索是历史的选择。

除了Google,百度,搜狗这些公司搞的通用搜索之外,其实在企业内部还有大量的数据,专注企业内部数据的搜索,也是个非常大的市场,所以提供这块服务的企业也非常多。

2、国内搜索服务现状

提供企业搜索软件的企业也很多,不过现在都流行云了,就不讨论企业发行版本,本文只简单梳理下哪些云服务提供企业搜索服务,都有那些特点?

2.1、AWS

AWS诉求很简单,上层服务都是为了卖IAAS的资源,应对多个流行搜索软件的情况下,直接同时提供两种搜索服务,分别是:

  • CloudSearch,基于solr ,具体可以看看https://aws.amazon.com/cn/cloudsearch/?nc2=h_m1。
  • Elasticsearch Serivce,基于eleastic search,具体可以看看https://aws.amazon.com/cn/elasticsearch-service/?nc2=h_m1。

2.2、百度BES

百度是基于ES(https://cloud.baidu.com/product/bes.html),且对ES做了不少改进,主要优化点还是结合了数据库的能力,比较有意思:

  1. 增加分布式SQL查询层,兼容MySQL协议
  2. 增加权限管理系统
  3. 支持online schema change
  4. 引入DistributedLog解决脑裂和数据一致性问题
  5. 支持跨机房数据同步
  6. 支持多租户资源隔离

具体的可以看看网上搜一下百度的分享:Baidu对Elasticsearch的优化改进。

2.3、阿里:

阿里是从12年开始打造HA3引擎,当前的opensearch云服务也是基于内部自研的搜索,关于搜索的架构可以看这篇文章,总的来说和ES架构比较类似,可以看看这篇访谈:https://yq.aliyun.com/articles/7479?commentId=984,讲了个大概。

另外从ES中文社区中的阿里招聘帖以及和从据https://www.elastic.co公司的朋友介绍,阿里已经开始寻求elastic.co的服务支持。

2.4、腾讯

说到搜索,肯定要谈腾讯,应该说腾讯当年费了大力气,想搞搜索,结果最后还是搞不成,把业务并给搜狗,入股搜狗,也成就了王小川同学。

腾讯最近又开始投入云服务,上面也有一个服务叫腾讯云搜TCS,归属在AI领域(https://cloud.tencent.com/product/tcs):

官网上号称继承soso的技术积累(见下面一段话),另外结合NLP技术(不知道真假哈,soso团队不都合并给别人了吗?):

只有真正的理解用户输入的检索串,才能给出更好的搜索结果。腾讯云搜有专门的自然语言处理技术团队,并拥有“文智”中文语义开放平台。平台有60多个腾讯产品的成功应用经验和上千亿的互联网语料库积累,提供中文分词、智能纠错、同义词识别、意图识别等能力。腾讯云搜借助该能力,让搜索框智能识别用户的检索意图,对检索串进行理解与纠正,把好用户检索的第二关。

2.5、小结一下

总的来说,几家巨头各有特色,用开源软件的,用自己的也有。

  1. 用开源的,ES相对来说,火一点。
  2. 自研的也开始转向开源ES。
  3. 结合机器学习技术,是当前研究重点。

3、底层技术上:

搜索技术底层技术,大同小异。开源用的比较多的是solr和es,底层基于Lucene,大家可以去看看Lucene的介绍(https://baike.baidu.com/item/Lucene/6753302?fr=aladdin)。

讲到Lucene,就不得不提大牛Doug Cutting,不光是lucene之父,也是hadoop之父,现任cloudera首席架构师。大牛最近还亮相国内接受访谈,聊了聊hadoop十周年(http://news.yesky.com/263/105073263.shtml)。

说来说去,总结一句话,Hadoop是开源开放的,但是开源软件就没有特别好的商业模式,都不赚钱。神奇的逻辑!

4、solr/ES快速比较

4.1、下面简单比较下solr和ES,细节不谈,直接给结论:

  1. Solr/ElasticSearch(ES)均是基于Apache License 2.0的、基于lucene的、提供了较为完整的搜索引擎能力的开源项目。
  2. Solr与ES各有特点,但都比较成熟,对于一般的需求,两者都能很好的胜任。两者的能力也在逐
  3. 渐趋同。早几年ES更受欢迎,但最近Solr也已经补齐了短板。
  4. http://solr-vs-elasticsearch.com/列出了Solr5.3与ES2.0的较为详细的对比。

各方面对比一下:

(1)接口

•Solr支持SQL。两者均支持RESTAPI。ES有自定义的Query DSL

(2)性能

•两者性能相近,但如果做性能优化,两者均需要投入人力进行深入分析

(3)领域

•Solr:站内搜索

•ES:站内搜索、ELK、分析

(4)开源

•Solr:完全开源

•ES:开源,但掌控于一家公司

(5)Hadoop支持

•Solr:支持与HDFS深入结合,但仅支持MR

•ES:在YARN、HDFS、SPARK、HIVE、PIG等方面均有支持,但index on HDFS功能有限

(6)生态

•ES生态要好于Solr,至少从目前来看

(7)Learning to rank扩展

•两者均需要投入资源进行二次开发

4.2、总的来说:

  1. Solr/ES之间的区别不像很多其他开源组件(如HBASE与MongoDB,如SparkSQL与HIVE,如SparkSreaming与Flink)之间有明显的不同,导致各自有各自明确的使用场景。在绝大多数情况下,Solr能完成的任务,ES也一样,反之亦然,而且性能差距很小。这就像VI/Emacs的编辑器之争一样,每个都有很多拥簇。
  1. 统计数据表明,ES的增长要快于Solr,并且已经超越Solr成为最受欢迎的搜索引擎。

5、最后放点基础资料,希望对你有用:

  • ES搭建原理和案例:http://wetest.qq.com/lab/view/300.html?from=content_qcloud
  • 中文权威指南,对ES会入门理解非常有帮助:https://www.elastic.co/guide/cn/elasticsearch/guide/current/mapping-analysis.html
  • 参考接口文档:https://www.elastic.co/guide/en/elasticsearch/reference/current/_cluster_health.html

原文发布于微信公众号 - 大数据和云计算技术(jiezhu2007)

原文发表时间:2017-08-05

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏钱塘大数据

收藏 | 大数据应用及其解决方案(完整版)

大数据,IT行业的又一次技术变革,大数据的浪潮汹涌而至,对国家治理、企业决策和个人生活都在产生深远的影响,并将成为云计算、物联网之后信息技术产业领域又一重大创新...

50010
来自专栏人称T客

调研:云存储运营情况两极化 一半是冰山一半是火焰

T客汇官网:tikehui.com 原文作者:Charles Babcock 编译:徐婧欣 ? 对象存储系统供应商 Cloudian 于 11 月初做了一项调查...

35150
来自专栏腾讯Bugly的专栏

【Dev Club 讨论】聊一聊微信“小程序”

Dev Club 是一个交流移动开发技术,结交朋友,扩展人脉的社群,成员都是经过审核的移动开发工程师。定期会举行嘉宾分享,话题讨论等活动。 本期讨论话题为:聊一...

40060
来自专栏吉浦迅科技

CodeXL编程分析工具

要想在异构计算上有所突破,良好的支持环境是必不可少的,NVIDIA就为其GPU通用计算开发了一套CUDA软件,AMD也要有相应的工具才行。 这个工具就是C...

419140
来自专栏前端布道

开发团队的效率

我之前写过一篇叫《加班与效率》的文章,从概念上说了一些我对“效率”的认识,但是那篇文章趋于概念化,对于一些没有经历过这样的环境的同学来说,可能会觉得太抽象了。很...

56350
来自专栏程序猿DD

重磅剧透!阿里巴巴计划开源 Nacos,为Dubbo生态发展铺路

本文章是根据郭平老师在上海Dubbo沙龙的演讲稿进行整理,意在为大家展示最真实、最一手的沙龙技术干货。(PPT在文末哦!)

50950
来自专栏Java架构

天天写业务代码,如何成为技术大牛?

不管是开发、测试、运维,每个技术人员心理多多少少都有一个成为技术大牛的梦,毕竟“梦想总是要有的,万一实现了呢”!正是对技术梦的追求,促使我们不断地努力和提升自己...

11840
来自专栏Forrest随想录

技术标准化—纷繁复杂趋势背后的规律

本来这篇是假期里整理出来,假期后准备发的一篇长文,但是因为出了个鹿晗事件,再加上,其实10.8日下午开始我也在参与处理线上的一个紧急问题,处理完也要21点多了,...

11530
来自专栏西安软件开发

西安弈聪软件BDS大数据公共服务平台获得国家软件著作权登记证书

日前由西安弈聪信息技术有限公司(简称:弈聪软件)自主开发的的“BDS大数据公共服务平台”通过中国版权保护中心审核并取得国家软件著作权登记证书。

12130
来自专栏云计算D1net

选好云存储供应商你应该知道的五件事

最简单(而且最便宜)的云存储提供商可能提供了极少的存储管理门户或者控制面板。在一些案例中,这些都受限于磁盘层级和文件目录的窗口视图。从用户访问简单文件注册...

41950

扫码关注云+社区

领取腾讯云代金券