Was ist der beste Weg, um einen Nutch Index auffrischen?
-
11-07-2019 - |
Frage
Ich habe nicht bei Nutch ein Jahr lang sieht oder so und es sieht aus wie es deutlich verändert hat. Die Dokumentation über den Wieder Crawling ist nicht klar. Was ist der beste Weg, um einen bestehenden Nutch Index zu aktualisieren?
Lösung
Dieses Skript lose auf dem in der Nutch FAQ basiert, was für mich zunächst nicht arbeiten:
#!/bin/sh
#
# Automate crawling my site
#
crawldir=./crawl
urldir=./urls
NUTCH_HOME=${NUTCH_HOME:=.}
nutch=$NUTCH_HOME/bin/nutch
# Make sure the crawl directories exist
mkdir -p $crawldir/crawldb $crawldir/segments $crawldir/linkdb
# Inject the initial urls
$nutch inject $crawldir/crawldb $urldir
depth=1
while(true) ; do
echo "beginning crawl at depth $depth"
echo "-generate"
$nutch generate $crawldir/crawldb $crawldir/segments
if [ $? -ne 0 ] ; then
echo "finishing at depth $depth - no more urls"
break
fi
segment=`/bin/ls -rtd $crawldir/segments/*|tail -1`
echo "$nutch fetch $segment"
$nutch fetch $segment
if [ $? -ne 0 ] ; then
echo "fetch failed at depth $depth, deleting segment"
rm -rf $segment
continue;
fi
echo "$nutch updatedb $crawldir/crawldb $segment"
$nutch updatedb $crawldir/crawldb $segment
depth=`expr $depth + 1`
done
echo "$nutch mergesegs $crawldir/MERGEDsegs $crawldir/segments/*"
$nutch mergesegs $crawldir/MERGEDsegs $crawldir/segments/*
if [ $? -eq 0 ] ; then
rm -rf $crawldir/segments/*
mv $crawldir/MERGEDsegs/* $crawldir/segments
rmdir $crawldir/MERGEDsegs
else
echo "Something went wrong"
exit
fi
echo "$nutch invertlinks $crawldir/linkdb -dir $crawldir/segments"
$nutch invertlinks $crawldir/linkdb -dir $crawldir/segments
echo "$nutch index $crawldir/NEWindexes $crawldir/crawldb $crawldir/linkdb $crawldir/segments/*"
$nutch index $crawldir/NEWindexes $crawldir/crawldb $crawldir/linkdb \
$crawldir/segments/*
echo "$nutch dedup $crawldir/NEWindexes"
$nutch dedup $crawldir/NEWindexes
echo "$nutch merge $crawldir/MERGEDindexes $crawldir/NEWindexes"
$nutch merge $crawldir/MERGEDindexes $crawldir/NEWindexes
mv $crawldir/index $crawldir/OLDindexes
mv $crawldir/MERGEDindexes $crawldir/index
Andere Tipps
Wir verwenden nutch in Kombination mit solr. Unser Nutch Index ist ca. 80 MB arround 5000 Websites conatin. Bisher ist der beste Weg, um erneut durchsucht, ist es, den Index zu löschen und von Grunde auf neu erstellen.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow