Nutch更新索引

来源:互联网 发布:蚁群算法数据挖掘 编辑:程序博客网 时间:2024/05/18 13:26

搜索引擎架构时都应当考虑到索引更新的问题,即当互联网上的网页发生改变(增加或者删除、修改)时搜索引擎端索引也应当进行相应的变化。Nutch也提供了一些方案用于更新索引,不过看起来比较烦琐。对于小量索引而言,可以采用最简单最聪明也是明笨的方法,即删除原有索引重新爬取网络。这种方式对于小量的数据而言,可以算作一种不错的选择吧,而且更新也比较彻底。然而当数据量比较大时,采用这种方式耗时较多,并不是最优的方案。------引自参考资料1

nutch的索引更新可以使用脚本,爬行过程中主要是一种generate/fetch/update循环操作过程,因此SHELL脚本的编写也是主要是这几个命令循环使用

我想对抓取的本地目录进行更新索引,参考网上给出的脚本代码,可在第一步generate就出现了问题,关键就是generate这一步,没产生新的爬取列表,也就没产生新segments,后面的fetch,update根本执行不到了,可是本地目录是有新文件删除和添加的,有新文件URL啊,为什么会找不到新的爬取列表呢?网上资料应该是针对抓取网页的,可以更新索引的,不然也不会写出来,估计是因为我抓取的是本地目录吧


既然这个更新索引脚本没法用,那还不如定期对全网进行一次爬取更新,将老索引删掉用新索引替换,期间只需要重启一次tomcat便可,而且参考资料1在最后也说了,虽然通过脚本方式更新索引可以达到部分的更新操作,但是还是需要定期对全网进行一次爬取更新。

参考资料:

1.http://liganok86.blog.163.com/blog/static/11128040201044105539436/

2.http://blog.sina.com.cn/s/blog_587422ce010004ew.html

3.http://today.java.net/pub/a/today/2006/02/16/introduction-to-nutch-2.html

4.http://stackoverflow.com/questions/640235/what-is-the-best-way-to-freshen-a-nutch-index