#!/usr/bin/env bash ###################################################################### # # Running this script will set two environment variables: # HADOOP_CLASSPATH # HADOOP_LIBJAR: pass this to the -libjar MapReduceIndexBuilder option # ###################################################################### # return absolute path function absPath { echo $(cd $(dirname "$1"); pwd)/$(basename "$1") } # Find location of this script sdir="`cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd`" solr_distrib="$sdir/../../.." echo `absPath $solr_distrib` # extract war if necessary if [ ! -d "$solr_distrib/example/solr-webapp/webapp" ]; then unzip -o $solr_distrib/example/webapps/solr.war -d $solr_distrib/example/solr-webapp/webapp fi # Setup env variables for MapReduceIndexerTool # Setup HADOOP_CLASSPATH dir1=`absPath "$solr_distrib/dist"` dir2=`absPath "$solr_distrib/dist/solrj-lib"` dir3=`absPath "$solr_distrib/contrib/map-reduce/lib"` dir4=`absPath "$solr_distrib/contrib/morphlines-core/lib"` dir5=`absPath "$solr_distrib/contrib/morphlines-cell/lib"` dir6=`absPath "$solr_distrib/contrib/extraction/lib"` dir7=`absPath "$solr_distrib/example/solr-webapp/webapp/WEB-INF/lib"` # Setup -libjar lib1=`ls -m $dir1/*.jar | tr -d ' \n'` lib2=`ls -m $dir2/*.jar | tr -d ' \n' | sed 's/\,[^\,]*\(log4j\|slf4j\)[^\,]*//g'` lib3=`ls -m $dir3/*.jar | tr -d ' \n'` lib4=`ls -m $dir4/*.jar | tr -d ' \n'` lib5=`ls -m $dir5/*.jar | tr -d ' \n'` lib6=`ls -m $dir6/*.jar | tr -d ' \n'` lib7=`ls -m $dir7/*.jar | tr -d ' \n'` export HADOOP_CLASSPATH="$dir1/*:$dir2/*:$dir3/*:$dir4/*:$dir5/*:$dir6/*:$dir7/*" export HADOOP_LIBJAR="$lib1,$lib2,$lib3,$lib4,$lib5,$lib6,$lib7" #echo $HADOOP_CLASSPATH #echo $HADOOP_LIBJAR