私は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
----------------------------
もちろん、スクリプトを実行する前に URL を bin/nutch 挿入しますが、ログを見ると、Skipping が表示されます: 別のバッチ ID と表示される URL の一部は、seed.txt に含まれていないものであり、それらをsolrに含めますが、追加されません。私のseed.txtには3つのURLがあります
このスクリプトを実行した後、私は試しました
bin/nutch parse -force -all
bin/nutch updatedb
bin/nutch solrindex http://127.0.0.1:8983/solr/sites -reindex
私の質問は次のとおりです。1. 最後の 3 つのコマンドはなぜ必要なのですか? 2. -force -all を使用しても、解析ジョブ中にすべての URL を取得するにはどうすればよいですか? 3. 上記のスクリプトで、generate -topN を 5 に設定した場合。別のサイトへの別のサイトへの別のサイトへの別のサイトへの別のサイトへのリンクがあります。フェッチ/解析サイクルに含まれますか? 4. このコマンドはどうですか? なぜこれが言及されているのですか
bin/nutch crawl urls -solr http://127.0.0.1:8983/solr/sites -depth 3 -topN 10000 -threads 3.
? これは私に関係があります。助けてください。
そうです、私は Nutch と solr に関する多くのページを読み、何週間も前からこれを理解しようと試みてきました。