运行nutch程序,发现除了入口url等分为1以外,其余的url得分都为0,问题如下图红圈所示。

几番百度、谷歌、求助大神无果后,决定尝试跟踪源码找问题。源码环境搭建参考博客:
http://blog.csdn.net/lqleo323/article/details/50999044

首先在org.apache.nutch.scoring.opic.OPICScoringFilter类里面打断点定位问题,每次运行到下面红圈处,程序就return了!。

但是程序在一开始的inject阶段就把这个值注入了啊 注入代码:

@Overridepublic void injectedScore(String url, WebPage row)throws ScoringFilterException {float score = row.getScore();row.getMetadata().put(CASH_KEY, ByteBuffer.wrap(Bytes.toBytes(score)));}

没有办法,只能每个阶段来调试,然后查看url里面的metadata属性,看他怎么消失的。inject,generate、fetch阶段的url图如下所示:



fetch阶段 metadata属性存储的cash值消失了!这下问题算是定位到了 在fetch阶段。接着就是跟踪fetch源码最后发现下面一段代码。

public Collection<WebPage.Field> getFields(Job job) {Collection<WebPage.Field> fields = new HashSet<WebPage.Field>(FIELDS);if (job.getConfiguration().getBoolean(PARSE_KEY, false)) {ParserJob parserJob = new ParserJob();fields.addAll(parserJob.getFields(job));}ProtocolFactory protocolFactory = new ProtocolFactory(job.getConfiguration());fields.addAll(protocolFactory.getFields());return fields;}

如果job.getConfiguration().getBoolean(PARSE_KEY, false)为真,即conf/nutch-site.xml配置

<property><name>fetcher.parse</name><value>true</value><description>If true, fetcher will parse content. NOTE: previous releases woulddefault to true. Since 2.0 this is set to false as a safer default.</description>
</property>

则url里面的metadata属性就有cash值,可以用于后面的计算url分数。
最后每个链接都有了分数

修改了配置文件后。记得要ant clean,ant重新编译。
虽然问题好像看似解决了,但是还是有很多疑问,不明白为什么一个fetch阶段的配置可以影响到url的评分计算。而且这个fetcher.parse设置为true只是在fetch阶段也做parse的工作而已。希望有大神看到了可以帮我解惑。接触nutch几个月了,感觉坑很多,有时间还是要好好阅读下源码理一理才行。

联系作者

  • CSDN

nutch2.3.1 scoring-opic 插件url评分为0 问题相关推荐

  1. 介绍一个很好的网站店铺推广优惠券插件 - URL Coupons

    优惠券是促进店铺访问者转化购买的很好手段. 今天我介绍一个很好的店铺优惠券插件 - URL Coupons,它允许你给店铺的优惠券添加一个URL.当这个URL被点击的时候,它会自动使用优惠券,并将商品 ...

  2. Windows10中的IIS10安装php manager和IIS URL Rewrite 2.0组件的方法

    Windows10中自带的Server:Microsoft-IIS/10.0,然后这个10却让原本支持组件无法安装了,php manager组件安装时提示"必须安装IIS7以上才可以安装&q ...

  3. redmine只是管理插件redmine_knowledgebase升级到0.4.0

    redmine只是管理插件redmine_knowledgebase升级到0.4.0, 0.4.0 (12-JUN-14) ----------------- * major cleanup of i ...

  4. ai二维码插件_超实用的AI脚本插件合集2.0免费分享,让你的设计快人一步

    AI脚本插件合集2.0版,除了更新部分插件以及增加几款新插件外,还支持AI CC 2019了.此AI插件包目前有62款ai脚本插件,已经整合成插件面板的形式,方便在AI中调用 AI脚本插件合集说明 A ...

  5. ProE/Creo插件 MCADEx Tools 4.0 ForCreo

    ProE/Creo插件 MCADEx Tools 4.0 ForCreo MCADEx Tools 4.0  ForCreo 主要功能包括:  BOM工具  工程图管理工具  参数批量检查工具 材料批 ...

  6. Page not found (404) Request Method: GET Request URL: http://127.0.0.1:8000/ Using the URLconf defin

    Page not found (404) Request Method: GET Request URL: http://127.0.0.1:8000/ Using the URLconf defin ...

  7. 2018-11-04 在线代码离线翻译Chrome插件一马v0.0.14

    续前文: 在线代码离线翻译Chrome插件"一马"v0.0.8. 主要改进如下. 项目源码库: program-in-chinese/webextension_github_cod ...

  8. 多玩英雄联盟插件盒子v3.8.0

    多玩英雄联盟插件盒子v3.8.0正式版(英雄联盟必备插件):http://www.bt37.com/soft/2435.html 多玩英雄联盟盒子是一款官方认证发布的游戏辅助工具,又名lol盒子,软件 ...

  9. Rhino5曲面造型插件Autodesk T-Splines v4.0.r11183

    Rhino5曲面造型插件Autodesk T-Splines v4.0.r11183 Autodesk T-Splines结合了Nurbs和细分表面建模技术的特点,虽然和Nurbs很相似,不过它极大地 ...

最新文章

  1. android 键盘右下角回车改为搜索
  2. Java调用 shell脚本阻塞
  3. 在cmd指令看计算机位数,在.cmd中使用Windows命令来测试32位或64位并运行命令
  4. 国家法定晚婚年龄是多少
  5. 深度学习的实用层面 —— 1.5 为什么正则化可以减少过拟合
  6. 图机器学习有多大神力?一文带你回顾2020,展望2021
  7. Vue图片上传删除预览操作
  8. 从游戏谈起——论主动性和责任心
  9. Maven最新版的下载与安装教程(详细教程)
  10. 12306网站抢票机制攻与防
  11. 格式转换器怎么修改视频文件?把kux格式转换成mp4的技巧
  12. html 一键排版,用一键排版 排版好轻松
  13. B站收藏夹快速导出详细步骤
  14. CSS定位—固定定位 fixed
  15. 数据泵导入报错ORA-39125和LPX-00225
  16. Xenu Link Sleuth 简单好用的链接测试工具 使用说明
  17. IPv6测试(一)认识IPv6
  18. Android Studio修改工程项目名称以及修改包名
  19. Cesium之3D拉伸显示行政区
  20. 【转】让电脑更高效的魔法 – 浅谈高效率PC工作环境的简化、净化与建立方法...

热门文章

  1. 2020武大计算机学院研究生补录通知,2020年武汉大学硕士研究生复试录取工作细则汇总...
  2. C语言丨线性查找(顺序查找)
  3. C语言丨检测用户键盘输入数据的合法性
  4. 计算机机培训论文,一篇文章了解机器学习
  5. python数据库查询系统_Python MySQL 查询数据(select from)
  6. python cls
  7. Flask 验证模式
  8. MySQL Control Flow Functions(控制流)
  9. math api matrix
  10. java万年历表怎么输出6_用Java编程输出万年历的功能实现