The ability to search is a key feature of most modern applications. While encompassing huge amounts of data, they need to allow the end-user to find what they’re searching for without delay. DevOps need to look beyond the traditional databases with complicated and non-user-friendly (even if smart and innovative) SQL query-based solutions to implement search functionality.

That’s where Apache Solr comes in – to help smooth users’ search experience with features such as autosuggest in search fields, range or category browsing using facets, and more. So let’s dive in and “strip” Solr to the basics. Find out what is Apache Solr, how does it work, and what is used for.

What is Apache Solr?

Apache Solr (stands for Searching On Lucene w/ Replication) is a free, open-source search engine based on the Apache Lucene library. An Apache Lucene subproject, it has been available since 2004 and is one of the most popular search engines available today worldwide. Solr, however, is more than a search engine — it’s also often used as a document-based NoSQL database with transactional support that can be used for storage purposes and even a key-value store.

Written in Java, Solr has RESTful XML/HTTP and JSON APIs and client libraries for many programming languages such as Java, Phyton, Ruby, C#, PHP, and many more being used to build search-based and big data analytics applications for websites, databases, files, etc.

Solr takes in structured, semi-structured, and unstructured data from various sources, stores and indexes it, and makes it available for search in near real-time. Solr is also used for its analytical capabilities as well, enabling you to do faceted product search, log/security event aggregation, social media analysis, and so on.

Solr can work with large amounts of data in what has traditionally been called master-slave mode, but it allows further scaling via clusters in SolrCloud mode.

Source –