基于Nutch和Hadoop的简易搜索引擎

最近和寝室的同学一起搭建了Hadoop的集群,实现了一个简易的本地搜索引擎,并且将其开源到了github上:https://github.com/ifuding/search-1047,接下来的几篇博文将对这个项目及其代码作一些详细的描述。

搜索原理概述

“搜索”,简而言之就是要分析用户输入然后输出给用户已经排好序的URL集合。一个简单的实现所需要的排序依据主要就是文本检索以及url的PageRank值。

PageRank

PageRank算法有很多文章对其进行讲解,其模型类似一个马尔科夫链。如果一个高PageRank值的网页1指向了另一个网页2,则可以认为网页2的PageRank值也会相应的变高。
假设有n个src网页指向一个target网页,则我们认为:
Pr[target]=1-dampFac+dampFac*sum{Pr[src]/OutlinkNum[src]}
其中,dampFac是为了防止死链和陷阱的。
所谓死链就是所有的url指向了一个url,但是此url没有出链,则最后所有网页的Pr会收敛到0。如果此url有指向自己的循环,则最后除了此url其它url的Pr的值都会收敛到0。
所以在公式里面加入了阻尼因子dampFac(取为0.85),模拟上网者的真实行为,即你一开始可以以1-dampFac的概率随机进入此网页,或者以dampFac的概率从其它网页进入这个网页,加入这个因子也可以防止用户无限制地浏览(小于1的数的n次方趋近于0)。借此避免以上两种错误的收敛情况。

文本检索

文本检索有专门的NLP分析方法,在
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值