我正在使用 nutch 2.0 和 solr 4.0 并且成功率最低我有 3 个 url,并且我的 regex-urlfilter.xml 设置为允许一切。我运行了这个脚本
#!/bin/bash
# Nutch crawl
export NUTCH_HOME=~/java/workspace/Nutch2.0/runtime/local
# depth in the web exploration
n=1
# number of selected urls for fetching
maxUrls=50000
# solr server
solrUrl=http://localhost:8983
for (( i = 1 ; i <= $n ; i++ ))
do
log=$NUTCH_HOME/logs/log
# Generate
$NUTCH_HOME/bin/nutch generate -topN $maxUrls > $log
batchId=`sed -n 's|.*batch id: \(.*\)|\1|p' < $log`
# rename log file by appending the batch id
log2=$log$batchId
mv $log $log2
log=$log2
# Fetch
$NUTCH_HOME/bin/nutch fetch $batchId >> $log
# Parse
$NUTCH_HOME/bin/nutch parse $batchId >> $log
# Update
$NUTCH_HOME/bin/nutch updatedb >> $log
# Index
$NUTCH_HOME/bin/nutch solrindex $solrUrl $batchId >> $log
done
----------------------------
当然,我在运行脚本之前 bin/nutch 注入了 url,但是当我查看日志时,我看到 Skipping : different batch id 和一些我看到的 url 不在 seed.txt 中,我想将它们包含在 solr 中,但不会添加它们。我的 seed.txt 中有 3 个网址
运行此脚本后,我尝试过
bin/nutch parse -force -all
bin/nutch updatedb
bin/nutch solrindex http://127.0.0.1:8983/solr/sites -reindex
我的问题如下。1. 最后三个命令为什么它们是必要的?2.如何在解析作业期间获取所有 url,即使使用 -force -all 我仍然会跳过不同的批处理 id 3.上面的脚本,如果我将 generate -topN 设置为 5。这是否意味着如果一个站点有一个链接到另一个站点到另一个站点到另一个站点到另一个站点到另一个站点到另一个站点。它将包含在获取/解析周期中吗?4. 这个命令怎么样,为什么会提到这个:
bin/nutch crawl urls -solr http://127.0.0.1:8983/solr/sites -depth 3 -topN 10000 -threads 3.
5. 当我运行 bin/nutch updateb 时,它需要 1-2 个 mineuts 然后它回显 Killed。这让我很担心。请帮忙。
是的,我已经阅读了很多关于 nutch 和 solr 的页面,并且我已经试图弄清楚这几个星期了。