Nutch主流程代码阅读笔记整理(三)

四、Nutch 每条索引记录的字段说明


url: 作为唯一标标识值,由BasicIndexingFilter类产生。


segment: 由Indexer类产生。Nutch抓回来的页面内容放在segments目录,lucene只会索引,不会store原文内容,因此在查询时要以 segmenturl作为外键,由FetchedSegments类根据hitsDetailsegments目录获得content


boost:优先级,由Indexer类调用插件计算产生。


title:显示标题,在BasicIndexingFilter插件中被索引和存储。


content: 主要的被搜索项,在BasicIndexingFilter插件中被索引。

 

 

五、Nutch搜索过程实例


Nutch提供了一个FascadeNutchBean类供我们使用,一段典型的代码如下

 

    NutchBean bean = new NutchBean();

    Query query = Query.parse(args[0]);

    Hits hits = bean.search(query, NUM_HITS,"title",true);

 

    for (int i = 0; i < hits.getLength(); i++) {

      Hit hit = hits.getHit(i);

      HitDetails details = bean.getDetails(hit);

 

      String title = details.getValue("title");

      String url = details.getValue("url");

      String summary =bean.getSummary(details, query);

    }

这里NutchBean为我们做了几样事情:
一是按Title field来排序
二是支持分布式查询,如果有配置servers,就会使用hadoopIPC系统,调用所有server上的nutchBeans,最后规约出总的结果。
三是每个站点只显示分数最高的一页,如果用户还想看同站的其他结果,就需要访问MoreHitsExculde[]
四是生成Summary,读取segments目录,按segmentsurl 获得content, 并按一定算法抽取出包含关键字的文档片断。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值