nutch1.0中索引的更新和維護

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修改的腳本交替運行,會有很好的效果。

 

 

轉載自http://blog.sina.com.cn/s/blog_587422ce010004ew.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章