Installing Apache Solr on Windows

Tuesday, December 20, 2011

#Solr #Tomcat #Windows

Apache Solr is a Java-based enterprise search platform build on top of the Apache Lucene search engine (the two of them are now merged). It makes all the great search engine features available through a RESTful API (HTTP/XML and JSON): indexing, full-text search, hit highlighting, faceted search, dynamic clustering, database integration, rich document (e.g., Word, PDF) handling, and geospatial search. The best part is that it’s open source and free for all.

I have got a lot of know-how about this great tool both for home and business purpose and would like to share, in this blog-post, how you can install Solr on a Windows system (Windows 6 / 7 / 2008 (R2) Server). This guide is written because I had a hard time finding a guide on this subject out there on the web. So here we go.

First of all, you need to install a webserver that can run Java-servlets. I use the Apache Tomcat webserver. Download the latest Tomcat server (the MSI installer is perfect for this – Binary Distributions -> Core -> 32-bit/64-bit Windows Service Installer) and install it on your system: (right now the latest version is 7.0) After this is installed, check that it is correctly installed and running (go to http://localhost:8080/).

After you have checked that it is running correctly, go to the directory where you installed Tomcat and then open the server.xml file in the conf folder (conf\server.xml). Inside this you then add this attribute to the first Connector XML-tag (Server -> Service -> Connector): URIEncoding="UTF-8".

Download and unzip the latest version of Solr into a temporary folder on your system – could be something like ”C:/temp/solr” (I have experienced some problems running version 3.5 on Tomcat – use the 3.4 version for now):

Create a folder on your file system where you would like Solr to be installed. Copy the content from the ”C:\temp\solr\example\solr” folder into the folder you just created.

Stop the Tomcat service. If you installed using the MSI installer you can do this by going to the Tomcat folder inside All Programs in the start menu and click on ”Configure Tomcat” (you might need to do this by right-clicking on it and choose to ”Run as administrator”). Keep the Tomcat configuration window open after you have stopped the service. We are going to use it later.

Copy the solr.war file from ”C:\temp\solr\dist” to the webapps folder inside your Tomcat installation folder. The .war file is called apache-solr-3.4.0.war for instance when you have the 3.4 version of Solr. When the file is copied, rename it to ”solr.war”.

Now we need to configure Tomcat so that it recognizes the Solr install folder that you created earlier. This is done by adding a Java Option: Open the Tomcat configuration window mentioned earlier and then go to the ”Java” tab. Here you have a ”Java Options” textbox with alot of lines in it. On the bottom of this textbox add the line ”-Dsolr.solr.home={solr-install-folder}”, where {solr-install-folder} is the path to your Solr install folder.

In the Tomcat configuration window, start the Tomcat service again. After starting the service, try to open a web-browser and navigate to this site (the local Solr administration site): http://localhost:8080/solr/admin. If the site starts nicely, Solr has been installed on your system.