Renbobo's Blog

Wo go where our vision is.

View project on GitHub

搜索系统

06 Aug 2017

搜索引擎的结构清晰,分工明确,按照各自的需求分为以下4个系统: 下载系统、分析系统、索引系统、查询系统

 下载系统 下载系统负责从互联网上下载各种类型的网页,并且保持对万维网的同步。 网页库、网页对象方式存储在索引库

 分析系统 分析系统负责抽取下载系统得到的网页,并进行pageRank和分词计算

 索引系统 索引系统负责将分析系统处理后的网页对象索引入库

 查询系统 查询系统负责分析用户提交的查询请求,然后从索引库中检索相关网页并将网页排序后,以查询结果的形式返回给用户

从整体上看,下载系统、分析系统、索引系统组成了搜索引擎的数据制作部分,被称为“离线部分”;查询系统为搜索引擎的数据服务部分,要求快速响应,因此被称为“在线部分”。按照离线和在线划分,搜索引擎又可分为在线系统和离线系统。其中在线系统需要毫秒级的访问速度,而离线系统种有些需要长达几周的时间才能计算完毕。

下载系统

网页类型

通过万维网特征得出以下两个结论:

  1. 爬虫皆可能选择目录型网页,或者前后联通的网页,避免使用权威型网页
  2. 网页分为目录型和权威型。目录性服务于普通网民,为了能使其浏览更多信息,该部分网页对于深入抓取权威型网页有重大意义;权威性网页比较重要,正向连接数少,反向链接数多。

网页直径

网页直径为两个网页互达的最短路径的平均长度。通过网页直径也可以得到如下结论:

  1. 遍历的时候,广度优先。可以优先抓取到重要性高的网页
  2. 采用深度策略控制抓取深度。避免爬虫一路走到黑

爬虫抓取策略

  1. 选择门户网站作为抓取入口
  2. 采用广度优先策略
  3. 不重复抓取策略 每条记录是否被抓取的信息存放在哈希表的一个槽位上。如果某网页过去已经被抓去,该槽位的值为1。具体映射到那个槽位,由哈希函数决定。MD5签名函数。将URL字符串数字化得到一个MD5值
  4. 网页抓取优先策略 优先抓取重要性高的网页。重要性度量,由受欢迎度、连接重要度和平均链接深度这3个方面决定。
    • 定义链接受欢迎度主要有反向链接的数据和质量决定。反向链接书越多,表明被其他网页认可度越高,反向链接的网页质量越高,其重要性就越高。
    • 定义链接重要度主要通过一些模式,比如认为包含“.com”或者”home”的url重要度高,以及具有字少反斜杠的url重要度高.