Solr, a free, open-source search platform from the Apache Lucene project, is great search engine, but you can use it for much more than that. In addition to its amazingly customizable, high-performance search capabilities, one can use it as a content management system (CMS) engine to display public-facing web pages, much the same way that Drupal does some of its content management on its public side.
Some content management systems are custom-built. Others are like the well-known WordPress and Drupal: frameworks that have their own way of displaying CMS content to the public using a variety of APIs and methods. Often, these APIs can be complicated, requiring a fair degree of programming or coding skill. Solr, on the other hand, provides a very intuitive way to extract content from a database and display it to the public.
One of Solr’s many capabilities is its data import handler (DIH). This capability allows one to configure Solr to read almost any database and index its content. This in itself is not terribly remarkable; however, it gives a very simple way to extract content just as one would search for things on the internet using search engines like Google, Bing, etc.
Solr can be used to retrieve content by searching for certain taxonomies or tags, which is a function of most content management systems on the public side. The difference here is that a person doesn’t need specific coding skills in any particular language to be able to retrieve desired content and display anywhere they like in a page. Once a few simple tools have been built by a developer – in particular, providing a simple API whose input is a search pattern and whose result is a set of search results – Solr provides everything that a non-developer would need to display content.
An excellent case study is the Carnegie Endowment for International Peace, a private, nonpartisan, nonprofit organization dedicated to advancing international cooperation and promoting active US engagement across the globe. Their in-house web development team worked with Matrix Group to use a combo of Solr and a simple API to generate content by simply providing search queries and then displaying the results of those queries on their site.
The advantage here is that their team doesn’t have to understand the particulars of the site’s CMS but only has to come up with the right query to extract the right results. This freedom allows them to easily construct new web pages with no developer assistance whatsoever. Not only is this a cost-saving convenience but it also yields performance gains. Because Solr has advanced caching abilities, queries that generate content often outperform traditional SQL-based retrieval methods. In addition, by using Solr a security gain is realized; a Solr query is not vulnerable to SQL Injection attacks.
Solr, when used as a content generator, provides an intuitive, non-technical integration with almost any SQL-based CMS. This middle-ware approach is easily scalable, affordable, and often boosts performance in the rendering of web pages.
Have you used Solr in this way? What did you think?