blob: ee81ed50b8104393ccc9a350968b2d2627ae2156 (
plain)
- #!/bin/sh
- #
- # rundig
- #
- # $Id: localrundig,v 1.2 2002-01-21 04:06:50 jonas Exp $
- #
- # This is a sample script to create a search database for ht://Dig.
- #
- DBDIR=/var/lib/htdig
- COMMONDIR=/etc/htdig
- BINDIR=/usr/bin
- LOCALLIBDIR=/usr/local/lib/htdig
- LOCALDBDIR=/var/local/lib/htdig
- # To help debug problems, try running rundig -vvv
- # This will add lots of debugging output to all of the programs
- stats= opts= alt= init=
- for arg
- do
- case "$arg" in
- -a) alt="$arg" ;;
- -s) stats="$arg" ;;
- -i) init="$arg" ;;
- *) opts="$opts $arg" ;; # e.g. -v or -c config
- esac
- done
- config=`echo "$opts"|sed 's/.*-c[[:space:]]\+\([[:alnum:]/.]\+\).*/\1/'`
- test -n "$config" || config=/etc/htdig/htdig.conf
- locale=`grep '^locale:' $config | sed -e 's/.*:[[:space:]]*\([[:alnum:]_]\+\).*/\1/'`
- test -n "$locale" || locale=en_US
- search_object=`grep '^search_object:' $config | sed -e 's/.*:[[:space:]]*\([[:alnum:]_]\+\).*/\1/'`
- echo grep '^search_object:' $config | sed -e 's/.*:[[:space:]]*\([[:alnum:]_]\+\).*/\1/'
- echo "S: $search_object C: $config"
- test -d $LOCALDBDIR/db/$search_object || mkdir $LOCALDBDIR/db/$search_object
- #
- # Set the TMPDIR variable if you want htmerge to put files in a location
- # other than the default. This is important if you do not have enough
- # disk space for the big sort that htmerge runs. Also, be aware that
- # on some systems, /tmp is a memory mapped filesystem that takes away
- # from virtual memory.
- #
- TMPDIR=${TMPDIR:-$DBDIR}
- export TMPDIR
- $BINDIR/htdig $init $opts $stats $alt
- LC_COLLATE=C $BINDIR/htmerge $opts $stats $alt
- case "$alt" in
- -a)
- ( cd $DBDIR && test -f db.docdb.work &&
- for f in *.work
- do
- mv -f $f `basename $f .work`
- done ) ;;
- esac
- # If you're low on disk space and you don't mind completely reindexing
- # every time you run this script, you can always
- # rm $DBDIR/db.wordlist
- # OR
- # If you'd rather run update digs all the time with the minimal databases
- # Keep only the following files (and don't call htdig with -i):
- # db.docdb, db.docdb.work, db.docs.index, db.wordlist.work, db.words.db
- $BINDIR/htnotify $opts
- #
- # Create the endings and synonym databases if they don't exist
- # or if they're older than the files they're generated from.
- # These databases are semi-static, so even if pages change,
- # these databases will not need to be rebuilt.
- case "$locale" in
- en_*)
- $BINDIR/htfuzzy $opts metaphone ;;
- *)
- $BINDIR/htfuzzy $opts soundex ;;
- esac
- if [ "`ls -t $LOCALLIBDIR/lang/$locale/dict.0 $LOCALDBDIR/lang/$locale/word2root.db 2>/dev/null | sed 1q`" = \
- "$LOCALLIBDIR/lang/$locale/dict.0" ]
- then
- $BINDIR/htfuzzy $opts endings
- fi
- if [ "`ls -t $LOCALLIBDIR/lang/$locale/synonyms $LOCALDBDIR/lang/$locale/synonyms.db 2>/dev/null | sed 1q`" = \
- "$LOCALLIBDIR/lang/$locale/synonyms" ]
- then
- $BINDIR/htfuzzy $opts synonyms
- fi
|