Background
As the amount of information contained by computers grew, so came the need to search for desirable pieces of information, which led to a whole separate field of information retrieval in computer science. Based on those principles, one of the most famous and dominant implementations is a Java library called Lucene, which was written by Doug Cutting back in 1999. This man actually wanted to build a search engine so he first went out to create this library. Doug Cutting is also the man behind Hadoop, a distributed large scale data processing solution. Anyway, this Lucene library was later used in an open source search engine called Nutch, which was yet again a brainchild of Doug Cutting.
Later, people came up with brighter ideas around Lucene and added some web interface and RESTful API around this library and the result was SOLR. A similar product is ElasticSearch and both provide RESTful APIs, the ability to have a very large data set to be searched by distributing over multiple...