免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1030 | 回复: 0
打印 上一主题 下一主题

关于 nutch analyze db [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-05-06 12:34 |只看该作者 |倒序浏览

这是一个链接分析工具,借助 nutch/tools/DistributedAnalysisTool.java
做了一个封装,便于更方便的使用
nutch/tools/LinkAnalysisTool.java 上 RUN:  mydb 3
进行3层链接分析
程序先打开webDB/stats 看有多少page,linke
一下三行代码可以看出 stats文件的内容
                int version = (byte) in.read();
                this.totalPages = in.readLong();
                this.totalLinks = in.readLong();
然后根据分配的处理器数量和需要计算的page和link数,分配任务
chunkSize=totalPages / numProcesses; 就是每个进程参与计算的page
然后
   for (int i = 1; i
计算每个进程应该从哪里开始计算
在\mydb\tmpdir-1146884784731-la下生成临时文件 assignment.0存放结果,
多进程的话, 会在分布式文件系统上生成更多的 assignment.1 , assignment.2 。。。。
在assignment.x文件中写入一些相关信息,结束 initRound函数, 完成准备工作
中 ,建立 tmpdir-1146884784731-la/scoreEdits.0.unsorted 存放未排序的临时结果。
对webDB中的每个page,先取出他的outlink,(吓一遍fetch之后,就可以用updatadb 重写 webdb ,把新抓到的outlink加进来)
然后根据初始的score 1来计算 Score和NextScore
在我的例子中某个page的outlink有21个,targerLink有15个, Score和NextScore分别是0.5和0.6 左右,
然后把这个21个outlink以及它的Score分别用ScoreWriter对象写入 score.unsort文件
然后把计算好的Score,NextScore 重新写回 webDB
在我的例子中,对2.5万个页面做了2层的链接分析, 大约每秒分析10个page,由于时间问题,没有完成,
这是一个比较耗时的工作, 但是对提高搜索结果质量无疑是大有帮助的


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/4906/showart_108838.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP