Using Apache Solr 4.5.0 and .Net C# – part 1 installation and setup

I’m going to spend some time looking at some interesting services that really extend and enhance what’s possible with web applications. Over this series I’ll build up a fully working app with all the source code starting with an enterprise search engine I’ve been interested in for a while.

Apache Solr is an open source enterprise search platform from the Apache Lucene project. It has some useful features that include full-text search, hit highlighting, faceted search, near real-time indexing, dynamic clustering, database integration, rich document handling and geospatial capabilities.

Solr is also highly reliable, scalable and can be setup into fault tolerant modes. It’s heavily used on the Internet as listed on Solr public sites.

The homepage for Solr is: https://lucene.apache.org/solr/.

Before you can run Solr, grab and install the latest Java SE Oracle SE download.

If you don’t want the Oracle version, Solr apparently supports other Java versions according to the Lucene tutorial.

For this installation, the latest Oracle SDK is used. Solr versions greater than 4 require a Java version 1.6 or greater.

Grab the installation files from: http://www.apache.org/dyn/closer.cgi/lucene/solr/4.5.0 and select the most appropriate mirror. This installation on this post is performed on a Windows server.

Grab the conpressed file, decompress it and save the output to a location on your disk.

Navigate to the installation directory and run the following in a command prompt:

D:\Solr\solr-4.5.0\example

Then:

java –jar start.jar

This will present two URIs which you can browse at:

The Apache Solr dashboard: http://localhost:8983/solr/#/

Solr admin screen

And an example search engine: http://localhost:8983/solr/collection1/browse/?

Solr example screen

Once these are running, the next task is to index some content, to do this run the following java:

java -jar post.jar *.xml

This will produce the following output:

D:\Solr\solr-4.5.0\example\exampledocs>java -jar post.jar *.xml
SimplePostTool version 1.5
Posting files to base url http://localhost:8983/solr/update using content-type a
pplication/xml..
POSTing file gb18030-example.xml
POSTing file hd.xml
POSTing file ipod_other.xml
POSTing file ipod_video.xml
POSTing file manufacturers.xml
POSTing file mem.xml
POSTing file money.xml
POSTing file monitor.xml
POSTing file monitor2.xml
POSTing file mp500.xml
POSTing file sd500.xml
POSTing file solr.xml
POSTing file utf8-example.xml
POSTing file vidcard.xml
14 files indexed.
COMMITting Solr index changes to http://localhost:8983/solr/update..
Time spent: 0:00:01.205

If you return the the example search interface, You will find a number of documents have been indexed.

More info on Solr setup can be found at: http://lucene.apache.org/solr/3_6_2/doc-files/tutorial.html.

In part 2, We’ll take a look at some of the more advanced features of Solr.