第1章 搜索引擎及其技术架构

  搜索引擎依托于互联网,它是互联网网站和应用的入口。

1,搜索引擎技术的发展史

  第一代:文本检索的一代

  采用经典的信息检索模型,比如布尔模型、向量空间模型或概率模型,来计算用户查询关键词和网页文本内容的相关程度。并没有利用到网页之间的链接关系。

  第二代:链接分析的一代

  充分利用网页之间的链接关系,并深入挖掘和利用了网页链接所代表的含义。通常而言,网页链接代表一种推荐关系,所以通过链接分析可以在海量内容中找出重要的网页。这种重要性本质上是对网页流行程度的一种衡量。搜索引擎通过结合网页流行性和内容相似性来改善搜索质量。

  Google率先提出PageRank链接分析技术并获得成功。

  但是很多网站为了获得更高的搜索排名,针对链接分析算法提出了不少链接作弊方案,导致搜索质量下降。

  第三代:用户中心的一代

  目前的搜索引擎大多数都可以归入第三代,即以理解用户需求为核心。目前搜索引擎大都致力于解决如下问题:如何能够理解用户发出的某个很短小的查询词背后包含的真正需求

  目前搜索引擎做了很多技术方面的尝试,比如利用用户发送查询词时的时间和地理位置信息,利用用户过去发出的查询词及相应的点击记录等历史信息等技术手段。

2,搜索引擎的3个目标

  更全:云存储,爬虫

  更快:索引,索引压缩,云存储,爬虫,网页去重,缓存

  更准:排序,链接分析,反作弊,用户研究,网页去重

3,搜索引擎的3个核心问题

  用户真正的需求是什么:从用户角度出发,即使同一个关键词,不同用户的搜索目的是不同的

  哪些信息是和用户需求真正相关的:从数据角度出发,从海量数据里面找到能够匹配用户需求的内容

  哪些信息是用户可以信赖的:搜索本质上是找到能够满足用户需求的信息,尽管相关性是衡量信息是否满足用户需求的一个重要方面,但非全部,信息是否值得信赖是另外一个重要的衡量标准。

4,搜索引擎的技术架构

  优秀的搜索引擎需要复杂的架构和算法,以此来支撑对海量数据的获取、存储、处理的能力,以及对用户查询的快速而准确地响应

  从架构层面,搜索引擎需要能够对百亿计的海量网页进行获取、存储、处理的能力,同时要保证搜索结果的质量。

  搜索引擎后台计算系统:获取并存储海量的网页相关信息

  搜索引擎的信息来源于互联网网页,通过网络爬虫将整个互联网的信息获取到本地,因为互联网页面中有相当大比例的内容是完全相同或者近似重复的,“网页去重”模块会对此做出检测并去除重复内容。

  搜索引擎对网页进行解析,抽取出网页主体内容,以及页面中包含指向其他页面的链接。网页内容通过“倒排索引”这种高效查询数据结构来保存,而网页之间的链接关系也会予以保存。将通过“链接分析”可以判断页面的相对重要性,对于为用户提供准确的搜索结果帮助很大。

  搜索引擎不仅需要保存网页原始信息,还要存储一些中间的处理结果。Google等商业搜索引擎为此开发了一整套存储与云计算平台,使用数以万计的普通PC搭建了海量信息的可靠存储与计算架构,以此作为搜索引擎及其相关应用的基础支撑。优秀的云存储与云计算平台已经成为大型商业搜索引擎的核心竞争力。

  搜索引擎前台计算系统:响应用户查询并实时地提供准确结果

  当搜索引擎接收到用户的查询词后,首先需要对查询词进行分析,希望能够结合查询词和用户信息来正确推导用户的真正意图。在此之后,首先在缓存中查找,搜索引擎的缓存系统存储了不同的查询意图对应的搜索结果,如果能够在缓存系统找到满足用户需求的信息,则可以直接将搜索结果返回给用户。如果保存在缓存中的信息无法满足用户需求,搜索引擎需要调用“网页排序”模块功能,根据用户的查询实时计算哪些网页是满足用户信息需求的,并排序输出作为搜索结果。而网页排序最重要的两个参考因素中,一个是内容相似性因素,即哪些网页是和用户查询密切相关的;另一个是网页重要性因素,即哪些网页是质量较好或相对重要的,这点往往可以通过链接分析的结果获得。

  除以上之外,“反作弊”模块日益重要。

  

时间: 2024-10-03 15:01:47

第1章 搜索引擎及其技术架构的相关文章

搜索引擎的技术架构

文章转自:http://blog.csdn.net/hguisu/article/details/7955985 1. 搜索引擎的分类 搜索引擎按其工作方式主要可分为三种: 分别是全文搜索引擎(Full Text Search Engine) 目录索引类搜索引擎(Search Index/Directory) 元搜索引擎(Meta Search Engine). ■ 全文搜索引擎 全文搜索引擎是名副其实的搜索引擎,国外具代表性的有Google.Fast/AllTheWeb.AltaVista.I

阅读《大型网站技术架构:核心原理与案例分析》第五、六、七章

题目:阅读<大型网站技术架构:核心原理与案例分析>第五.六.七章,结合<XXX需求征集系统>,分析如何增加相应的功能,提高系统的可用性和易用性,撰写一篇1500字左右的博客阐述你的观点 在这一节课上,我们学习了系统质量属性其中的可用性和易用性.那么质量属性是什么呢,质量属性是高于对系统功能(即对系统能力.服务和行为)的基本的要求的.系统质量属性讲重点放在了可用性.可修改性.性能.安全性.可测试性和易用性.从设计师方面,系统质量属性一般存在三个问题:(1)为属性提供的定义并不是可操作

阅读《大型网站技术架构》 第三章心得

今天阅读了<大型网站技术架构> 的第三章,这一章主要讲解了大型网站核心架构要素,并且概括的讲解了相应的实现方法. 软件架构除了系统功能需求外,还需要关注性能.可用性.伸缩性.扩展性.安全性. 其中性能是网站的重要指标.优化网站性能的手段有很多种其中包括: 1.使用CD和反响代理加快反应速度. 2.在应用服务器端实现本地缓存和分布式缓存. 3.通过异步操作将用户的请求发送至消息队列等待后续任务处理,而当前请求直接返回响应给用户. 4.多台应用服务器组成集群. 5.代码层面使用多线程.改善内存管理

阅读《大型网站技术架构》前两章心得体会及总结

最近阅读了<大型网站技术架构>这一本书,对于这一行业刚入门的菜鸟来说,虽然只读了前两章,却让我感受颇深,同时也学习和见识到了很多之前不了解.不明白的东西. 通过阅读前两章,我才真正的初步明白了一个刚刚成型的小型网站是如何一步一步的成长为一个大型网站.从网站的最开始的基础架构,到一步步实现网站的性能提升,到如何处理网站的高并发数据,到使用反响代理和CDN加速网站响应,让我一步一步的真正的认识到了架构的重要性,也让我这个菜鸟学习到了很多之前不懂的知识. 第一章主要讲授了大型网站架构演化的发展历程,

《大型网站技术架构》读书笔记之六:永无止境之网站的伸缩性架构

此篇已收录至<大型网站技术架构>读书笔记系列目录贴,点击访问该目录可获取更多内容. 首先,所谓网站的伸缩性,指不需要改变网站的软硬件设计,仅仅通过改变部署的服务器数量就可以扩大或者缩小网站的服务处理能力.在整个互联网行业的发展渐进演化中,最重要的技术就是服务器集群,通过不断地向集群中添加服务器来增强整个集群的处理能力. 一.网站架构的伸缩性设计 1.1 不同功能进行物理分离实现伸缩 (1)纵向分离:将业务处理流程上得不同部分分离部署,实现系统的伸缩性: (2)横向分离:将不同的业务模块分离部署

《大型网站技术架构核心原理与案例分析》阅读笔记-01

通过阅读该书籍我们能够更加清楚的树立大型网站的的技术发展历程,剖析大型网站技术架构模式,深入的讲述大型互联网架构核心原理,并通过一些典型的技术案例来讲述大型网站开发全景视图,该书籍深入的阐述了各种大型网站面临的各种架构问题及解决方案. 在第一章第一篇大型网站架构演化中了解到与传统企业应用系统相比,大型互联网应用系统具有高并发大流量.高可用性.海量数据.用户分布广泛,网络情况复杂.安全环境恶劣.需求快速变更,发布频繁.渐进式发展等特点:大型网站架构演化发展历程经历了初始阶段的网络架构它的应用程序.

大型网站技术架构(一):大型网站架构演化

第一章:大型网站架构演化 九层之台,始于垒土:千里之行,始于足下. 对于网站的发展,亦是如此,从上世纪90年代开始,互联网经历了20多年的发展,发生了翻天覆地的变化,今天,全球有一半的人使用互联网,从信息检索到实时通信,从电子购物到文化娱乐,互联网渗透到了生活的每一个角落.但是,构建一个高性能的网站,绝非一朝一夕可以完成,我们来看下,作为一个大型网站系统应有的特点: 1.大型网站系统应有的特点 高并发,大流量:需要面对高并发用户,大流量访问.举个例子,去往迪拜的飞机有200张票,但是有100w人

《大型网站技术架构-核心原理与案例分析》之一: 大型网站架构演化

最近刚刚读完李智慧的<大型网站技术架构-核心原理与案例分析>,对每章重点内容作了一些笔记,以便加深印象及日后查阅. 一.大型网站软件系统的特点 高并发,大流量:需要面对高并发用户,大流量访问. 高可用:系统7X24小时不间断服务. 海量数据:需要存储.管理海量数据,需要使用大量服务器. 用户分布广泛,网络情况复杂:许多大型互联网都是为全球用户提供服务的,用户分布范围广,各地网络情况千差万别. 安全环境恶劣:由于互联网的开放性,使得互联网站更容易受到攻击,大型网站几乎每天都会被黑客攻击. 需求快

《大型网站技术架构》读书笔记一:大型网站架构演化

一.大型网站系统特点 (1)高并发.大流量:PV量巨大 (2)高可用:7*24小时不间断服务 (3)海量数据:文件数目分分钟xxTB (4)用户分布广泛,网络情况复杂:网络运营商 (5)安全环境恶劣:黑客的攻击 (6)需求快速变更,发布频繁:快速适应市场,满足用户需求 (7)渐进式发展:慢慢地运营出大型网站 二.大型网站架构演化过程 (1)初始阶段网站架构:一台Server就刚需-应用程序.数据库.文件等所有资源都集中在一台Server上,典型案例:基于LAMP架构的PHP网站 (2)应用和数据