好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

谈搜索架构师的不同阶段

谈搜索架构师的不同阶段

http://blog.csdn.net/soso_blog/article/details/5706555

谈搜索架构师的不同阶段

分类: 成长分享 soso技术/产品专家介绍 2010-07-01 11:40 10087人阅读 评论 (64) 收藏 举报

 

文 / 腾讯 soso 乔建秀

 

    乔建秀,国内早期从事搜索引擎技术的专家,拥有十年的搜索经验。作为搜索首席架构师, 2000 年 -2007 年在中搜在线工作。 2007 年以高端技术专家身份加入腾讯公司。自加入公司以来,全面负责网页搜索的后台技术架构的研发,直到 2009 年 9 月 soso 网页搜索成功上线。目前任命网页搜索平台和公共平台的总监,负责搜索引擎新架构和公共平台的研发工作。

 

 

    搜索技术的应用越来越广,掌握搜索技术或者针对搜索技术有了解的人也越来越多。最近接触了不少搜索人才,从对搜索的了解程度来讲,大体分为几种不同的阶段。

    第一个阶段是使用开源的单机搜索系统 (最常见的是 lucene ),在其之上加入 broker 和 Cache ,在其之上在构造应用。这个阶段一般对 lucene 的工作原理以及基本的搜索原理会略有了解,甚至还是有不少看过 lucene 的源码的。这也是大多数人接触搜索引擎的最方便和最常见的方式。但是这种系统一般只适用于较少量数据(千万级),其并发性能一般也只能达到百万级。好处是开发周期短,这一类的人才在市场上也容易找到,再加上一些好的 idea ,简单的数据挖掘方法(分类、聚类、协同过滤、用户行为分析等)就可以很快做出原型系统,满足一些小公司的前期创业阶段的技术要求。

    第二个阶段是自行开发的垂直领域内的搜索 , 这个阶段一般数据量会达到上亿或者几亿,如果用开源系统,其性价比已经不能满足要求,需要的服务器会超出承受能力,所以就会进行自己开发搜索系统,这种系 统大都是针对内存的系统。这个阶段的人才会对搜索引擎的原理有较深的理解,可以自行开发简单的搜索应用。这类人才有很多是从第一个阶段发展过来的,他们会 对搜索的各个方面都有所了解,包括切词、索引的建立、更新、应用的搭建、 broker 系统、 cache 系统、简单的排序策略等等。对于大部分搜索系统来讲,这部分人才都可以完成对系统设计和开发。

前两个阶段,其数据来源一般也是定向的抓取,基于模板的内容分析抽取,对服务的稳定性要求也没有那么高,更新无法做到无缝更新。

    第三个阶段是针对网页搜索(通用搜索)的人才 ,这个阶段的人才比较少,针对整个网页搜索都有了解的人就更少了。主要集中于百度、谷歌、搜狗等大的搜索公司。

了解通用搜索的人主要集中于大型的搜索公司,有以下几个原因:一是其它公司很难有做网页搜索的实力,也就很难有这种工作经历。没有经历过这样的挑战就很难想像出其中的难度。二是 即使有做过,但是很难拿到用户的反馈,而缺乏用户反馈数据,网页搜索引擎就象缺了一条腿。 三是做 网页搜索的人一般比较多,包括百度、谷歌等公司,大部分人也只能从事网页搜索中较小的一个部分,针对网页搜索整体了解和思考都是比较少的。

    这个阶段的人才会对通用搜索遇到的挑战有一定的解决能力。包括如何能够在有限的资源内做到尽快的返回用户的结果(性能指标),如何做到第一时间更新互联 网的热点并且能够展示到用户面前(时新性指标),如何能够尽可能多的收录互联网的有用页面(覆盖率指标),如何能够把用户最感兴趣的结果放到最前面(相关 性指标),还有很多用户可用性、以及显相关的指标。这些是评价通用搜索的最主要的指标,每个指标都会有很大的挑战。这个阶段的人才一般最少会对其中的部分 指标有自己解决的办法。

    第四个阶段是对网页搜索系统的设计能力和架构能力都很强的人才 , 他们会针对搜索系统的除暴露给用户的表现部分有很深的理解和自己的解决方案外,还包括跨机房解决方案,基础存储运算在搜索中的应用,高可用和灵活性的相关 性实验支持,高效灵活的数据挖掘平台、接口及解决方案,系统的高度可扩展性和柔性服务能力等。这类人才在市场上凤毛麟角,大家都在争取。

 

上述是从事搜索十余年总结的一点经验,欢迎大家一起探讨。


 

上一篇: 搜索引擎检索技术 下一篇: soso的产品思考者

查看评论

60楼 ZhMilo 2010-10-16 10:43发表 [回复] [引用] [举报] 回复 chenyun1:呵呵,有道理,博主现在应该是不关注这些东西了,呵呵。 59楼 chenyun1 2010-10-09 23:12发表 [回复] [引用] [举报] 对有些观点不敢苟同:
---
但是这种系统一般只适用于较少量数据(千万级),其并发性能一般也只能达到百万级。
---
关于lucene所能支持的数据量和并发远远高于你所说的这个(数据量数十亿),并且也可以做到实时,如果对此有疑问可以看看twitter搜索最新的分享:
http://engineering.twitter测试数据/2010/10/twitters-new-search-architecture.html 58楼 druselyy 2010-08-09 10:02发表 [回复] [引用] [举报] 传说中的小乔。 57楼 huang_dawen 2010-07-31 23:49发表 [回复] [引用] [举报] 希望soso越做越好哈:) 56楼 bananaqiang123 2010-07-21 00:02发表 [回复] [引用] [举报] 55楼 longlongmylove 2010-07-13 13:22发表 [回复] [引用] [举报] 54楼 lfsfxy9 2010-07-12 20:19发表 [回复] [引用] [举报] 53楼 liwenjia1981 2010-07-09 17:24发表 [回复] [引用] [举报] 楼主应该在重点阐述一下未来搜索引擎发展的新方向和趋势 Re: soso_blog 2010-07-09 17:53发表 [回复] [引用] [举报] 回复 liwenjia1981:建议可以看看前面的博文 :) 52楼 匿名用户 2010-07-09 13:57发表 [回复] [引用] [举报] 牛人 鉴定完毕~ 51楼 sglogin 2010-07-07 14:27发表 [回复] [引用] [举报] 网页搜索为什么不包括的选项 50楼 匿名用户 2010-07-07 10:20发表 [回复] [引用] [举报] 我个人感觉lucene不能承受千万级的应用,只能是百万级别。当然,这个也靠数据的大小来决定。一般来说,lucene不能胜任。 49楼 SmartDevice 2010-07-07 08:59发表 [回复] [引用] [举报] 48楼 匿名用户 2010-07-06 16:14发表 [回复] [引用] [举报] 那我还没到1级呢 47楼 gonxi 2010-07-06 15:33发表 [回复] [引用] [举报] http://code.google测试数据/p/ourg/
我的搜索引擎,开发中,欢迎评价 46楼 hehaipo_1 2010-07-06 13:45发表 [回复] [引用] [举报] 作者在写简历吧。
想成为搜索人才就一定要经过这几个阶段吗 45楼 Model_CZ 2010-07-06 10:53发表 [回复] [引用] [举报] 谢谢作者为想成为搜索引擎人才的同志指出了一条路径。支持国内自主搜索引擎发展! 44楼 wpjava 2010-07-06 09:42发表 [回复] [引用] [举报] 我现在处于第一个阶段 43楼 txl2008 2010-07-06 08:48发表 [回复] [引用] [举报] 学习了 42楼 liwenjia1981 2010-07-05 19:05发表 [回复] [引用] [举报] 这个也太空了吧。没什么内容。搜索也不是这么分类的。

查看更多关于谈搜索架构师的不同阶段的详细内容...

  阅读:47次

上一篇: idea

下一篇:GridGain