一个不错的nutch使用文档

一个不错的nutch使用文档2007-10-26 10:19基本上把思路理清了
一、安装nutch和配置tomcat,注意nutch0.7和0.8的区别,在这里以0.7版本为例
二、抓取网页,建立搜索
1、假设当前目录为nutch目录,建立一个urls文件,内容就是要抓取的网站域名,如http://www.mydomain.com,可以有多个,每行写一个。在试验中发现,只有根域名有时候抓取的内容没有或很少,加入更多的详细URL效果很好,比如http: //www.mydomain.com/users,http://forum.mydomain.com/post/123,http://www.mydomain.com/articles/123 等,越详细越全面越好,我理解是不是这样的话在crawl的时候,depth的值就可以设小一些了。
2、修改conf/crawl-urlfilter.txt,加入过滤URL的规则
3、开始抓取:
#bin/nutch crawl urls -dir crawl.mydomain -depth 10
4、运行Tomcat前的准备,拷贝war文件,参见《nutch研究(二)》
5、到这里基本的搜索就可以用了
三、 索引的更新和维护
1、写一个维护脚本,定时运行,是个好办法

#!/bin/bash

# Set JAVA_HOME to reflect your systems java configuration
export JAVA_HOME=/usr/lib/j2sdk1.5-sun

# Start index updation,只查找最热门的前1000条记录,由此创建新的segment
bin/nutch generate crawl.mydomain/db crawl.mydomain/segments -topN 1000
#得到最新的segment目录名
s=`ls -d crawl.virtusa/segments/2* | tail -1`
echo Segment is $s
bin/nutch fetch $s
bin/nutch updatedb crawl.mydomain /db $s
bin/nutch analyze crawl.mydomain /db 5
bin/nutch index $s
#删除重复记录
bin/nutch dedup crawl.mydomain /segments crawl.mydomain/tmpfile

# Merge segments to prevent too many open files exception in Lucene
#合并成一个新的segment
bin/nutch mergesegs -dir crawl.mydomain/segments -i -ds
s=`ls -d crawl.mydomain/segments/2* | tail -1`
echo Merged Segment is $s

rm -rf crawl.mydomain/index
2、以上是在urls文件内容没有变化的时候采用的办法,如果我加入的新的URL在urls文件里,那么在运行generate以前,要执行下面一命令:
#bin/nutch inject crawl.mydomain/db -urlfile urls
在generate的时候,如果不加topN参数,那么crawl只会去处理新加的或原来由于其它原因没有fetch的url或page,所以我感觉,脚本1和用2修改的脚本交替运行,会有很好的效果。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值