搜索引擎原理


    搜索引擎可以分为4个系统:下载系统、分析系统、索引系统和查询系统。前三个是“离线系统”,最后一个是“在线系统”。

    下载系统负责从互联网上下载各种类型的网页,并且保持对互联网变化同步。首先是一个叫网络爬虫的程序在网页上抓取网页,抓取的算法主要有宽度优先和深度优先两种方式。然而,网页链接有可能出现死循环,这样就要避免重复抓取,重用的方法有用哈希表来记录下爬虫抓取的历史记录,和设定一个最大深度,用深度优先来抓取。在抓取的过程中,尽量保证先抓取重要性的网页,重要性一般由链接欢迎度、链接重要度和平均链接深度来决定。最后,为了快速的抓取,可以设置多个爬虫同时来抓取,一般按照域名分解,使得每个爬虫在不同的域名段内抓取。网页库的存放有三种方式:日志结构、基于哈希的结构和哈希日志。

    分析系统负责抽取下载系统得到的网页数据,并进行PageRank和分词计算。它的首要任务是从网页中抽取出有价值的属性,例如:标题、正文等,叫做网页结构化。网页结构化的过程首先通过标签树进行分析得到的文本对应的标签,然后通过投票算法确定正文及配图等仅从HTML标签无法判断的网页数据。为了节约存储和提高检索速度,必须对网页进行消重,主要有三个步骤:1.特征提取;2.相似度计算;3.消重。目前判断网页是否重复的算法有I-Match、Shingle和对文档中的权值最高的N个关键字组成的特征项集合比较等算法。之后是中文分词和计算PageRank值。PageRank算法是靠链接分析的一种算法。

    索引系统负责将分析系统处理后的网页对象索引入库。在此系统中重点是建立正排表和倒排表,正排表就是从文档到关键词的映射,倒排表正好相反,它是从关键字到文档的映射,根据关键字可以查找到它所在的文档编号,位置等信息。

   查询系统负责分析用户提交的查询请求,然后从索引库中检索出相关网页并将网页排序后返回给用户。当用户输入查询词后,首先组成查询词向量,然后求出包含这些查询词的文档,即文档求交,文档求交可以采用最佳归并树算法,然后对查询词用TF/IDF方法向量化,之后和文档(只需要PageRank排名靠前的一部分)的向量化求向量相似度,最后降序输出。自动摘要是对变动的滑动窗口内的关键词投票算法生成的。

 

http://hi.baidu.com/yanxionglu/blog/item/dcff16b5977006ff30add139.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值