搜索引擎的架构

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

搜索引擎的架构设计

对李彦宏不陌生吧,他说:搜索引擎不是人人都能做的领域,进入的门槛比较高。所以啰,本文只是通过查阅资料陈述鄙人陋见而已。

当然,对如下截图就更熟悉不过了

怎么李彦宏敢说这么牛的话?你说国内著名搜索引擎公司百度(/)总裁不牛咋个整得成?

搜索引擎的门槛到底有多高?搜索引擎的门槛主要是技术门槛。对于一个复杂的系统来说,各方面的技术固然重要,但整个系统的架构设计也同样不可忽视

一、搜索引擎架构设计:

搜索引擎架构图:

如图所示,一个搜索引擎通常是由搜索器、分析器、索引器、检索器和用户接口五部分组成:

1.搜索器

通常也可称为蜘蛛(Spider)、机器人(Robot)、爬行者(crawler)或蠕虫(Worm)等,其实质是一种计算机程序,按照某种策略自动地在互联网中搜集和发现we b信息。它要尽可能多、尽可能快地搜集各种类型的新信息,同时由于网上的信息更新很快,需要定期更新已经搜集过的旧信息,以避免死链接和无效链接。目前通常有两种搜集信息的策略:

●顺从一个起始URL集合开始,顺着这些URL中的链接,以宽度优先、深度优先或启发式方式等循环地在互联网中发现新的信息。这些起始URL可以是任意的URL,也可以是一些非常流行、包含很多链接的站点。

●将Web空间按照域名、IP地址或国家域名划分,每个搜索器负责一个子空间的穷尽搜索。搜索器搜集的信息类型多种多样,包括HTML、XMLL、New sgroup文章、FTP文件、字处理文档以及多媒体信息等。搜索器通常可采用分布式或并行计算技术,以提高信息发现和更新的速度。

搜索器在工作过程中主要需考虑以下几个问题:

(1)Web信息的选择。

(2)Web页面的更新频率

(3)减少搜索器对Web服务器的负担

(4)并行工作

2.分析器

分析器即分析程序,功能是理解搜索器所搜索的信息。它通过一些特殊算法,从Spider程序抓回网页源文件中抽取出索引项。同时,分析程序还将此网页中的超链接提取出来,返回给搜索程序,以便Spider进一步深入搜索信息。

3.索引器

索引器将生成从关键词到URL的关系索引表。索引表一般使用某种形式的倒排表(Inversion List),即由索引项查找相应的URL。一个搜索引擎的有效性在很大程序上取决于索引的质量。

4.检索器

检索器的主要功能是根据用户输入的关键词,在索引器形成的倒排表中进行查询,同时完成页面与查询之间的的相关度评价,对将要输出的结果进行排序,并提供某种用户相关性的反馈机制。

5.用户接口

用户接口的作用是输入用户查询、显示查询结果、提供用户相关性反馈机制

二、搜索引擎的实现原理,可以看作四步:从互联网上抓取网页→建立索引数据库

→在索引数据库中搜索→对搜索结果进行处理和排序。而搜索引擎的策略都是采用服务器群集和分布式计算技术,其是面向互联网访问者的。

三、实例——对新闻搜索

“用户”通过提交查询请求给“查询服务器”,服务器在“索引数据库”中进行相关网页的查找,同时“网页评级”把查询请求和链接信息结合起来对搜索结果进行相关度的评价,通过“查询服务器”按照相关度进行排序,并提取关键词的内容摘要,组织最后的页面返回给“用户首先,我们提交要搜索的关键字,其搜索引擎就会经过查询处理与分词(我觉得这里的关键问题就是词法和语义分析),然后由搜索系统程序从网页索引数据库中找到符合该关键

词的所有相关网页。最后综合相关信息和网页级别形成相关度数值,然后进行排序,相关度越高,排名越靠前。最后由页面生成系统将搜索结果的链接地址和页面内容摘要等内容组织起来返回给用户。

相关文档
最新文档