source: gs3-extensions/solr/trunk/src/gs3-setup.sh@ 29711

Last change on this file since 29711 was 29711, checked in by ak19, 9 years ago

Moving from using the solr jetty server to solr using the GS3 tomcat server. Now localhost:8383/solr hosts the solr server RESTful pages. Changes: 1. Minor changes to GS3 build.xml. 2. GLI no longer does the temporary stopping of the GS3 server, launching jetty server for building a solr collection, stopping jetty, restarting GS3 tomcat server. GLI leaves the GS3 server running. 3. The main changes are to ext/solr. The ext/solr/gs3-setup.sh sets the new SOLR_PORT and SOLR_HOST variables read from the GS3 build.properties, as the jetty port and host variables are no longer used. ext/solr/build.xml now puts the solr war file into tomcat's webapps, as well as helper libraries necessary (xalan related); a solr.xml context file is created from a template file and placed into tomcat's conf/Catalina/localhost; additional solr jar files are copied into tomcat/lib, as well as the slf4j bridge being copied into GS3/web/WEB-INF/lib; the solr perl code has been changed to use the new RESTful URLs and particularly to work with solr running off the GS3 tomcat server, or stop and start it as required, rather than working with (or stopping and starting) the solr jetty server. A new run_solr_server.pl executable script runs the tomcat server rather than the jetty server; major changes to the Java Solr code to no longer work with the EmbeddedSolrServer (which caused a conflict when the index is accessed by solr jetty server upon rebuild of solr collections), our solr Java code now uses HttpSolrServer to contact the solr servlet running off tomcat. 5. Still a bug: when search results go over a page after rebuilding a solr collection in GLI against a running GS3 server, the 2nd page of search results aren't present and things break. But if the server is not running, solr collections rebuild fine, so the changes do everything that GS3.06 did and more.

File size: 2.4 KB
Line 
1
2extdesc="the Solr Extension"
3
4full_setup=`pwd`/${BASH_SOURCE}
5fulldir=${full_setup%/*}
6fulldir=${fulldir%/.}
7
8#--
9# Edit the following two port values if they conflict with
10# with existing services on your computer
11#--
12
13# If using tomcat, read the tomcat host and port from the toplevel GS3 build.properties
14# http://en.kioskea.net/faq/1757-how-to-read-a-file-line-by-line
15# The following sets the field separator IFS to the = sign, then reads the file line by
16# line, setting propname and propval (which are fields separated by '=') for each line read
17SOLR_PORT=8983
18SOLR_HOST=localhost
19file=$GSDL3SRCHOME/build.properties
20while IFS== read propname propval; do
21 if [ "x$propname" = "xtomcat.server" ] ; then
22 SOLR_HOST=$propval
23 fi
24 if [ "x$propname" = "xtomcat.port" ] ; then
25 SOLR_PORT=$propval
26 fi
27done < $file
28
29echo "Tomcat port: $SOLR_PORT"
30echo "Tomcat host: $SOLR_HOST"
31
32# If using jetty:
33# The port Jetty runs on:
34SOLR_JETTY_PORT=8983
35
36# The port Jetty listens on for a "stop" command
37JETTY_STOP_PORT=8079
38
39
40if test -z $GSDLOS ; then
41 GSDLOS=`uname -s | tr '[A-Z]' '[a-z]'`
42 # check for running bash under Cygwin
43 if test "`echo $GSDLOS | sed 's/cygwin//'`" != "$GSDLOS" ;
44 then
45 GSDLOS=windows
46 fi
47 # check for running bash under MinGW/MSys
48 if test "`echo $GSDLOS | sed 's/mingw//'`" != "$GSDLOS" ;
49 then
50 GSDLOS=windows
51 fi
52 echo "GSDLOS was not set. Setting it to '$GSDLOS'"
53 export GSDLOS
54fi
55
56first_time=0;
57
58if [ "x$GEXT_SOLR" = "x" ] ; then
59 export GEXT_SOLR=`pwd`
60
61 if [ -d "$GEXT_SOLR/bin/script" ] ; then
62 export PATH=$GEXT_SOLR/bin/script:$PATH
63 fi
64
65 if [ -d "$GEXT_SOLR/lib" ] ; then
66 if [ "$GSDLOS" = "linux" ] ; then
67 export LD_LIBRARY_PATH=$GEXT_SOLR/lib:$LD_LIBRARY_PATH
68 elif [ "$GSDLOS" = "darwin" ] ; then
69 export DYLD_LIBRARY_PATH=$GEXT_SOLR/lib:$DYLD_LIBRARY_PATH
70 fi
71 fi
72
73 extdir=${GEXT_SOLR##*/}
74
75 if [ "x$GSDL3EXTS" = "x" ] ; then
76 export GSDL3EXTS=$extdir
77 else
78 export GSDL3EXTS=$GSDL3EXTS:$extdir
79 fi
80
81 export SOLR_JETTY_PORT
82 export JETTY_STOP_PORT
83 export SOLR_PORT
84 export SOLR_HOST
85 first_time=1
86
87 echo "+Your environment is now setup for $extdesc"
88else
89 echo "+Your environment is already setup for $extdesc"
90fi
91
92echo "++Solr/Jetty server will run on port $SOLR_JETTY_PORT (+ port $JETTY_STOP_PORT for shutdown command)"
93
94if [ "$first_time" = "1" ] ; then
95 echo "--These port values can be changed by editing:"
96 echo "-- $full_setup"
97fi
Note: See TracBrowser for help on using the repository browser.