六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 36|回复: 0

nutch 部分问题解决方案

[复制链接]

升级  8%

64

主题

64

主题

64

主题

举人

Rank: 3Rank: 3

积分
224
 楼主| 发表于 2013-2-7 15:56:28 | 显示全部楼层 |阅读模式
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)); 
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表