How to set up Solr on Ubuntu 10.04 (or whatever)0 Comments | Tags: solr searchApache Solr is a fast, open-source search solution. People are doing some very cool things with Solr. I personally have only begun to scratch the surface of what is possible with Solr, but have seen amazing returns with a relatively small investment (thanks entirely to Daniel Lindsley's excellent search framework, django-haystack). There are instructions for getting up and running with Solr + Jetty -- the purpose of this blog entry is to walk through setting up multi-core Solr with Apache Tomcat.Let's goFirst step, install the server:sudo apt-get install tomcat6Next you'll want to get Solr and extract it to a temporary directorymkdir -p ~/tmp/solr/cd ~/tmp/solr/wget http://apache.multihomed.net/lucene/solr/1.4.0/apache-solr-1.4.0.tgztar xzf apache-solr-1.4.0.tgzAll the solr cores and indexes will go in /var/solr:sudo mkdir -p /var/solrCopy the Solr webapp and the example multicore configuration files:sudo cp apache-solr-1.4.0/dist/apache-solr-1.4.0.war /var/solr/solr.warsudo cp -R apache-solr-1.4.0/example/multicore/* /var/solr/sudo chown -R tomcat6 /var/solr/OK, now just need to point Catalina at Solr:echo -e ''crossContext="true">\n'override="true" />\n' | sudo tee -a /etc/tomcat6/Catalina/localhost/solr.xmlecho 'TOMCAT6_SECURITY=no' | sudo tee -a /etc/default/tomcat6I edited the init script (/etc/init.d/tomcat6) to set solr.home, pointing it at /var/solr. I made this change near the top of the file other environment vars are set up:JAVA_OPTS="$JAVA_OPTS -Dsolr.home=/var/solr"Restart Tomcat6 and luxuriate in your newfound power:sudo /etc/init.d/tomcat6 restartNavigate to http://localhost:8080/solr/ - you should get something like this:Where to now?The solrconfig.xml files provided for each core are pretty barebones, so you'll want to replace those with something more like the solrconfig.xml at~/tmp/solr/apache-solr-1.4.0/example/solr/conf/solrconfig.xmlI personally copy all the stuff from the example conf directory into any new cores I create and use that as a starting place.