Sunday, June 3, 2012

Installing Apache Solr on Windows with Tomcat

1) JDK


Install java development kit  preferably version 1.6 or greater.

2)Tomcat


As a complete web dev environment for windows i recommend using XAMPP. It comes with built in Tomcat servlet, so you won't have to waste your time installing tomcat. Well regarding version of tomcat, i have successfully tested solr on tomcat 5,6 and 7.
     Tomcat can be managed from xampp control panel or you can install it as a windows service so that it can be run independently from xampp. Well doesn't matter much whether it is xampp service or a windows service. To install it as a windows service run the 'service' batch file in c:\xampp\tomcat\bin .
     After installation to check if tomcat is running open you browser and ping
     localhost:8080



Xampp download

3) Solr install


Download the latest solr release which is currently solr 3.6. Download the tarball from here and extract it to say  downloads\apache-solr-3.6.0

a) Preparing solr home directory

  1. Make a new directory in C:\ and name it solr.
  2. Copy dist and contrib directories from downloads\apache-solr-3.6.0 i.e. downloads\apache-solr-3.6.0\dist and downloads\apache-solr-3.6.0\contrib to C:\solr\dist and C:\solr\contrib
  3. Make a directory named solr inside C:\solr and copy  downloads\apache-solr-3.6.0\example directory contents to it. Now C:\solr\solr is what is called solr home.

b) Configuring tomcat to detect solr

  1. Copy  downloads\apache-solr-3.6.0\dist\apache-solr-3.6.0.war file to C:\xampp\tomcat\webapps directory and rename it to solr. If tomcat service is on you will find that a solr directory is automatically created. If tomcat is off don't bother it would be created next time tomcat starts.


2.    Now run C:\xampp\tomcat\bin\tomcat7w.exe (7 is for the version), select java tab and in java options pane write -Dsolr.solr.home=C:\solr\solr . Click OK and configuration is done. Restart tomcat.



c) Test solr

In your browser enter localhost:8080/solr/admin and you will see.





That's it. Solr is installed and now it can be used to do fast searching on huge amount of data from any source be it a sql database or a file. But to do that a lot of work still needs to be done related to request handlers and schemas. In the future posts i will be talking about the internals of solr.


Note : If you get errors like no cores were created or unable to load class java.* error, that simply means that you made mistake in either providing solr home path correctly in tomcat7w.exe or you forgot to copy dist and contrib folders to c:\solr.

 Post your queries if you have issues installing solr.