Apache Solr
By the Apache Software Foundation
Apache Solr is an open-source enterprise search platform built on the Lucene search library, providing full-text search, faceted navigation, and distributed indexing for large volumes of text and structured data.
Definition
Apache Solr is an open-source enterprise search platform built on the Lucene search library, providing full-text search, faceted navigation, and distributed indexing for large volumes of text and structured data.
Overview
Solr was originally developed at CNET Networks in 2004 to power internal search needs and was donated to the Apache Software Foundation in 2006, where its development has since been closely aligned with the underlying Lucene project. Solr exposes Lucene's powerful indexing and search capabilities through an HTTP/REST-like API, adding features Lucene doesn't provide on its own: faceted search for building filterable navigation, rich schema and text-analysis configuration, highlighting of matched terms, spell-checking, and near-real-time indexing. For scale, SolrCloud distributes indexes as shards across multiple nodes and uses a coordination service to manage cluster state, allowing search workloads to grow horizontally. Solr's closest competitor is Elasticsearch, which is also built on Lucene but offers a different API design and a broader analytics-focused ecosystem; teams also sometimes compare Solr with hosted search services like Algolia for simpler use cases. Solr remains a common choice for e-commerce search, enterprise document search, and any application that needs sophisticated full-text relevance ranking over large datasets. It is sometimes evaluated alongside Apache Spark. It is sometimes evaluated alongside MySQL.
Key Features
- Full-text search and relevance ranking built on Apache Lucene
- Faceted search for filterable, drill-down navigation
- SolrCloud for distributed, sharded, fault-tolerant deployments
- Rich schema configuration with custom text analyzers
- Near-real-time indexing of new documents
- Highlighting and spell-checking out of the box
- REST-like APIs with JSON and XML support