今天准备写MapReduce的第四个作业,实现PageRank算法,在实现本算法之前,首先得了解PageRank算法,下面根据课堂笔记,以及网上的资料简单介绍一下PageRank。
一、搜索引擎
搜索引擎的功能主要是:根据用户输入的关键字,返回文档的链接结果。
搜索引擎主要解决的三大问题:(1)如何获取文档资料 (2)如何根据关键词检索到相关文档 (3)如何对文档进行排序,返回给用户满意的页面
1.1获取文档资料
利用爬虫程序,获取互联网的页面资料。爬虫技术先从一个网页出发,将该网页的内容记录下来,保存到资料库,接着分析页面中的超链接,分别递归得去获取超链接页面。
1.2 如何根据关键词检索到相关文档
采用倒排索引算法。简单的说,倒排索引是一对key-value对,key代表关键词,value代表拥有这些关键词的文档编号或者url。
1.3 文档排序
这是搜索引擎最核心的问题,也是google发家致富的法宝 -- PageRank算法。
何为PageRank算法?它是一种计算网页排名的算法。早期搜索引擎对排名的做法是:不做任何排序或者评价,可想而知,用户体验多差;或者根据关键词出现的次数和频率进行排序,但会造成Term Spam。Term Spam就是指一些广告页面或者垃圾页面人为的添加一些隐藏