nutch 部分问题解决方案

1.nutch建立索引成功,通过lucene直接搜索索引文件可以搜索到相关结果,但是通过nutch搜索不到结果

解决方案:

<property>
  <name>searcher.dir</name>
  <value>crawl</value>
</property>

在nutch-default.xml中配置searcher.dir的默认路径为crawl,nutch会到crawl这个路径里面搜索,而你的索引文件跟本不在这个目录下面,所有搜索不到结果.

你可以在nutch-site.xml中加入searcher.dir这个属性的配置,value为nutch的索引文件的上一级目录.

比如: 你的索引文件为f:/temp/index,你应该配置为f :/temp

<property>
  <name>searcher.dir</name>
  <value>f:/temp</value>
</property>

 

搜索不到的另一个原因:

    nutch是通过BooleanQuery来搜索的,当你搜索相关内容的时候,默认会搜索所有的FIELD.

你必须保证所搜索Field之间的相关关系为BooleanClause.Occur.SHOULD

 

2.怎么高亮显示搜索结果

 Hits hits = bean.search(query, 10);

HitDetails detail=bean.getDetails(hits.getHit(i));
Summary summaries = bean.getSummary(detail, query);

String content=summaries.toHtml(true);  //这样得到高亮显示的HTML

 

 

3.nutch在控制台跑不来的原因

nutch-default.xml文件里面配置了nutch的相关配置文件.

而nutch在读取这些文件的时候,是通过Configuration.class.getResource("")(读取当前类路径)来读取相关配置文件的.

所以跑不起来,须先看看你的相应配置文件,在不在你的类路径下..

类路径必须包含的文件有:

mime-types.xml

common-terms.utf8

parse-plugins.xml

nutch-site.xml

nutch-default.xml

regex-urlfilter.txt

crawl-urlfilter.txt

 

 

4. 网页快照如何实现

 nutch通过相关词进行搜索网页的时候,会查询出这个关键词对应的相关信息..

比如:title,url,content等等.

通过URL我们可以链接到相关真实的URL.

而网页快照其实是nutch在索引时,索引以前网页的内容.

所有当点击网页快照时,我们根据索引文档的ID,去索引出原网页内容.

 Hit hit = new Hit(getIndexNo,getIndexDocNo);
 HitDetails details = bean.getDetails(hit);
 String content = new String(bean.getContent(details)); 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值