Solr: From Whoa To Go
Why whoa to go?
Simple - this tutorial will start with the absolute basics:
- Downloading all of the required libraries/components.
- Unzipping/untarring of the files
- Directory layout hints
- IDE setup
- Coffee Breaks
- Hints and Tips
- HTML setup
- Apache Proxying
- Reference sites and tutorials
This process mimics what I go through to set up a search engine in a real world environment
In a nutshell
If you are looking to set up a real world site with built in faceted search - this is the tutorial for you.
Unfortunately, as is always the case, this tutorial covers the development process from my specific requirements. These may differ slightly from yours, but I will cover enough of the basics that you will be able to use it within your web-site.
List of Requirements
I will be using the following development environment and will offer hints (in less detail) about other items.
- Java based web site - the Solr server is Java based so there is no getting around that. It is possible to have the search results delivered through other programming/scripting languages, however I will not be covering these in much detail.
- Native Java connection client - I will not be looking at the XML format - this is one of the reasons why it must be a Java based site.
- Tomcat - I will be deploying on Tomcat - Jetty/JBoss/WebSphere/WebLogic/IONA iPas1/ATG Dynamo/Any Java based application server should be able to be implemented quite easily.
- Mac OS X deployment - which should mimic all *NIX set ups, I will also provide brief instructions for Windows setup. Once the setup is done, the technology is platform agnostic.
- My own particular development styles - as the projects get going, I will be adding my own thoughts as to the way that I would do things - this may not suit you perfectly - hopefully you will question what I do and adapt it to your particular environments.
What we will build
To show you what Solr can do, I will be running through the following example projects.
- iTunes library faceted search (requires iTunes of course) - this is done for XML parsing.
- Recipe Search
- Generic Database search
- RSS feeds
- Local directory search
- Web based search (using Nutch integration)
- Many others…
Although the above list looks like a lot of work, due to the way in which Solr works, each of these should take a couple of hours/a day or so to implement. If it wasn’t easy, I wouldn’t be going through so many examples.
A Tutorial in ‘n’ parts
Given the time I will also be covering the following:
- User tagging
- Privacy/Authentication result filtering
- Solr Panl(* note that this is a custom library which I am halfway through developing which will take all of the drudgery out of setting up a solr search server.)
- Scalability/Replication (* Note that currently the replication is a set of *NIX scripts)
As the heading indicates - this tutorial will be in ‘n’ parts, with ‘n’ yet to be defined. Enjoy!