Enterprise Search: Search Engine using Lucene/Solr

Overview: This application was built using Solr which uses Lucene as its core search engine. Application is designed in two parts: core search engine server and client UI rendering application.


Enterprise Search - Login Page
Enterprise Search – Login Page


Enterprise Search - Search Page
Enterprise Search – Search Page


Enterprise Search - Ratings Summary Page
Enterprise Search – Ratings Summary Page

This application was designed using open source search platform Solr, which is a web app container for Apache Lucene. Software requirement was to index large amount of support cases and other knowledgebase articles and provide easy to use search functionality.

Little bit about Solr: It is a popular, blazing fast open source enterprise search platform from Apache Lucene project. Its major features includes:

  • Powerful full-text search
  • Hit highlighting
  • Faceted search
  • Dynamic Clustering
  • Database integration
  • Rich documents (eg word, pdf) handling
  • Geospatial search.

Solr is highly scalable, providing distributed search and index replication, and it powers search and navigation features of many of the world’s largest internet sites.

Solr is written in Java and runs as a standalone full-text search server within a servlet container such as Tomcat. Solr uses the Lucene Java search library at its core for full-text indexing and search, and has REST-like HTTP/XML and JSON APIs that make it easy to use from virtually any programming languages. Solr’s powerful external configuration allows it to be tailored to almost any type of application without Java coding, and it has an extensive plugin architecture when more advanced customization is required.

If you need more in-depth details about Solr, go to Solr Wiki which features very nice documentation and step by step guides to configuring Solr for your needs.

This application is used by 300+ users on a daily basis, and was designed from beginning to handle large load using load balancer and Solr index replication across multiple servers.

I was involved in requirements specification, design, programming, debugging, testing and maintenance of the application.

Built using Java, JSP, HTML, CSS, JS, jQuery, MySQL, Lucene/Solr.


Following is a screenshot of Solr search front-end application made using AngularJS MVVM Framework and bootstrap CSS styles. Search and pagination is made through asynchronous HTTP calls (Ajax) to the Solr backend search server returning results in JSON format.

Solr Search Front End
Solr Search Front End: using AngularJS