文/腾讯soso 乔建秀
乔建秀,国内早期从事搜索引擎技术的专家,拥有十年的搜索经验。作为搜索首席架构师,2000年-2007年在中搜在线工作。2007年以高端技术专家身份加入腾讯公司。自加入公司以来,全面负责网页搜索的后台技术架构的研发,直到2009年9月soso网页搜索成功上线。目前任命网页搜索平台和公共平台的总监,负责搜索引擎新架构和公共平台的研发工作。
搜索技术的应用越来越广,掌握搜索技术或者针对搜索技术有了解的人也越来越多。最近接触了不少搜索人才,从对搜索的了解程度来讲,大体分为几种不同的阶段。
第一个阶段是使用开源的单机搜索系统(最常见的是lucene),在其之上加入broker和Cache,在其之上在构造应用。这个阶段一般对lucene的工作原理以及基本的搜索原理会略有了解,甚至还是有不少看过lucene的源码的。这也是大多数人接触搜索引擎的最方便和最常见的方式。但是这种系统一般只适用于较少量数据(千万级),其并发性能一般也只能达到百万级。好处是开发周期短,这一类的人才在市场上也容易找到,再加上一些好的idea,简单的数据挖掘方法(分类、聚类、协同过滤、用户行为分析等)就可以很快做出原型系统,满足一些小公司的前期创业阶段的技术要求。
第二个阶段是自行开发的垂直领域内的搜索,这个阶段一般数据量会达到上亿或者几亿,如果用开源系统,其性价比已经不能满足要求,需要的服务器会超出承受能力,所以就会进行自己开发搜索系统,这种系统大都是针对内存的系统。这个阶段的人才会对搜索引擎的原理有较深的理解,可以自行开发简单的搜索应用。这类人才有很多是从第一个阶段发展过来的,他们会对搜索的各个方面都有所了解,包括切词、索引的建立、更新、应用的搭建、broker系统、cache系统、简单的排序策略等等。对于大部分搜索系统来讲,这部分人才都可以完成对系统设计和开发。
前两个阶段,其数据来源一般也是定向的抓取,基于模板的内容分析抽取,对服务的稳定性要求也没有那么高,更新无法做到无缝更新。
第三个阶段是针对网页搜索(通用搜索)的人才,这个阶段的人才比较少,针对整个网页搜索都有了解的人就更少了。主要集中于百度、谷歌、搜狗等大的搜索公司。
了解通用搜索的人主要集中于大型的搜索公司,有以下几个原因:一是其它公司很难有做网页搜索的实力,也就很难有这种工作经历。没有经历过这样的挑战就很难想像出其中的难度。二是即使有做过,但是很难拿到用户的反馈,而缺乏用户反馈数据,网页搜索引擎就象缺了一条腿。三是做网页搜索的人一般比较多,包括百度、谷歌等公司,大部分人也只能从事网页搜索中较小的一个部分,针对网页搜索整体了解和思考都是比较少的。
这个阶段的人才会对通用搜索遇到的挑战有一定的解决能力。包括如何能够在有限的资源内做到尽快的返回用户的结果(性能指标),如何做到第一时间更新互联网的热点并且能够展示到用户面前(时新性指标),如何能够尽可能多的收录互联网的有用页面(覆盖率指标),如何能够把用户最感兴趣的结果放到最前面(相关性指标),还有很多用户可用性、以及显相关的指标。这些是评价通用搜索的最主要的指标,每个指标都会有很大的挑战。这个阶段的人才一般最少会对其中的部分指标有自己解决的办法。
第四个阶段是对网页搜索系统的设计能力和架构能力都很强的人才,他们会针对搜索系统的除暴露给用户的表现部分有很深的理解和自己的解决方案外,还包括跨机房解决方案,基础存储运算在搜索中的应用,高可用和灵活性的相关性实验支持,高效灵活的数据挖掘平台、接口及解决方案,系统的高度可扩展性和柔性服务能力等。这类人才在市场上凤毛麟角,大家都在争取。
上述是从事搜索十余年总结的一点经验,欢迎大家一起探讨。
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/soso_blog/archive/2010/07/01/5706555.aspx
分享到:
相关推荐
### 高级架构师九阶段 #### 一、入门阶段:理解基础概念 在这个阶段,初学者需要了解架构师的基本职责、技术栈的基础知识以及软件开发的生命周期。这包括熟悉常见的编程语言(如Java、Python等)、数据结构与算法...
架构师第四阶段 架构师之路 百度网盘 需要的拿去......
天翼云认证解决方案架构师题库知识点,帮你直接通过天翼云解决方案架构师认证考试。天翼云认证解决方案架构师题库知识点,帮你直接通过天翼云解决方案架构师认证考试。天翼云认证解决方案架构师题库知识点,帮你直接...
架构师在不同公司、不同的发展阶段,他们的定位会有所差异。他们可能承担各种不同的角色,包括但不限于技术领导者、项目管理者、团队领导者,甚至是业务运维的专家。架构师是否带团队,是否具有管理职能,是否注重...
架构师之路的第一阶段视频教程,百度网盘。需要的拿去................
通过实战案例,演示了如何在不同阶段制定和调整测试策略。 此外,书中还特别强调了测试架构师的软能力,如沟通与协商技巧,以及编写高质量测试用例的能力。整体而言,这本书旨在为读者提供一个从测试工程师向测试...
从提供的内容来看,系统架构师的学习笔记包括了多个关键章节,每个章节都对应着不同方面的知识,覆盖了从基础的计算机知识到软件开发流程、软件架构设计以及具体技术的学习和应用。特别地,还涵盖了系统架构师在团队...
教程会教授如何评估不同架构方案,使用评估技术如成本效益分析、风险分析,以及如何进行架构决策记录,确保团队成员对决策有共识。 五、软件架构的演化与重构 随着项目的发展,架构可能需要调整或重构。这部分将...
系统架构师必须了解信息系统的生命周期,包括规划、分析、设计、实施、运维和废弃等阶段。在此基础上,还需掌握信息系统的种类和特点,比如事务处理系统、决策支持系统、专家系统、办公自动化系统等。同时,必须对...
"架构师能力模型解析" 架构师是一个职业名称,而不是一个技术高下的职位名称。要想成为一个优秀的架构师,需要具备“个人特性”和“技术技能”两个方面的能力。“个人特性”包括人际关系的能力和业务能力,而“技术...
9. **架构评估与决策**:如何进行技术选型,评估不同架构的优缺点,以及如何在成本、性能、时间表之间做出权衡。 10. **项目管理与沟通**:架构师需要具备良好的团队协作和沟通能力,了解项目管理方法如瀑布模型、...
2. **架构模式与范式**:例如微服务架构、服务导向架构(SOA)、事件驱动架构(EDA)等,这些模式提供了不同场景下的解决方案,有助于选择合适的架构风格。 3. **技术选型**:探讨如何根据业务需求选择适合的技术栈...
《一线架构师实践指南》是一本专为有志于或已经在IT行业中担任架构师角色的专业人士准备的电子书籍。该书旨在提供实用的、一线的架构设计与实施经验,帮助读者提升自己的专业技能,理解并解决实际工作中遇到的挑战。...
Java架构师视频教程 Java架构师视频教程
0_架构师与设计师.pdf 01_软件流程实施方案选择.pdf 02_软件架构文档设计.pdf 03_软件架构风险管理.pdf 04_如何描述和评估软件架构质量.pdf 05_设计模式与软件架构设计.pdf 06_AOP开发实践.pdf 07_软件架构通用服务....
java 高级架构师教程,java 高级架构师教程,java 高级架构师教程,java 高级架构师教程,java 高级架构师教程,java 高级架构师教程,java 高级架构师教程,java 高级架构师教程,java 高级架构师教程,java 高级...
- **学会谈判**:在项目中,架构师往往需要在不同的需求、资源限制和期望之间找到平衡点。这要求他们具备良好的谈判技巧,能够在维护项目目标的同时,满足多方的需求。 - **风险与防备**:识别潜在风险并制定相应...
架构师在设计过程中必须充分理解目标软件的需求和系统运行的环境,从而使得设计出来的架构能够适用于实际应用场景。 架构的重要性体现在多个方面: 1. 架构是连接需求分析和实现的桥梁,它在需求分析完成后、编码...