nutch2.3.1 scoring-opic 插件url评分为0 问题
来源:互联网 发布:js代码在线运行 编辑:程序博客网 时间:2024/06/05 11:53
运行nutch程序,发现除了入口url等分为1以外,其余的url得分都为0,问题如下图红圈所示。
几番百度、谷歌、求助大神无果后,决定尝试跟踪源码找问题。源码环境搭建参考博客:
http://blog.csdn.net/lqleo323/article/details/50999044
首先在org.apache.nutch.scoring.opic.OPICScoringFilter类里面打断点定位问题,每次运行到下面红圈处,程序就return了!。
但是程序在一开始的inject阶段就把这个值注入了啊 注入代码:
@Override public 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 would default 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 问题
- Lucene Scoring 评分机制
- Lucene Scoring 评分机制
- Lucene Scoring 评分机制
- Lucene Scoring 评分机制
- Lucene 的 Scoring 评分机制
- Lucene 的 Scoring 评分机制
- 信用评分书目(Credit Scoring: Reading List)
- Lucene Scoring 评分机制 ( by quqi99 )
- 小编辑 Lucene 的 Scoring 评分机制
- Nutch 1.3 学习笔记 11-1 页面评分机制 OPIC
- Nutch 1.3 学习笔记 11-1 页面评分机制 OPIC
- nutch2.0+cassandra中文网页乱码问题
- nutch2.3.1 updatejob时错误url导致崩溃
- 短文本评分方法 (Short Text Scoring Method)
- 评分插件
- Nutch的URL选择策略 OPIC IN NUTCH
- Nutch的URL选择策略 OPIC IN NUTCH
- Android高效加载大图、多图解决方案,有效避免程序OOM
- iOS网络编程TCP/IP应用篇(四)- 根据协议解析数据
- UIButton - 按钮
- java PreparedStatement需要关闭,不然会内存溢出
- caffe调参经验资料文章
- nutch2.3.1 scoring-opic 插件url评分为0 问题
- free maker完整教程
- Mac卸载软件 CleanMyMac最好选择
- 找出给定字符串中数字字符 (即’0’—‘9’这10个数字)的个数
- iOS网络编程TCP/IP应用篇(五)-发送数据及其它(加密,重连)
- UINavigationController 详解(最全的)
- HDU 1394 线段树求逆序数
- linux MJPG编码和AVI封装
- C++笔试面试题