Solr is an open-source enterprise-search platform from the Apache Lucene project which significantly speeds up your search responses. Written in Java, this flexible and powerful cross-platform software provides full-text search, hit highlight, database integration, rich document handling and much more.
Thanks to the scalable and versatile technology, it is the go-to open-source tool when search capabilities for websites are needed. Running on a standalone server, Solr uses the Lucene Java search to achieve usability with the majority of programming languages via HTTP/XML and JSON APIs.
Let us have a look at a basic Solr installation scenario and go in depth on how to get it running in high availability. If at any point you are unfamiliar with some of the terminologies used, you can take a look at this Solr terminology guide.
Solr features packages for Unix based systems and Windows alike, and the first step when installing is done through a simple download which you can find on the Solr downloads page. Based on what you need and how you configure Solr, you can choose to place the package on a single server or on multiple servers to feature a clustered environment (which brings high availability in a production environment). You can choose between standalone and cloud mode by running a different Solr start command.
There are a few points to consider before and during the installation process:
There are also a number of things you need to consider before, during and after the installation process:
It’s important to consider that you will need an ODD number of Zookeeper servers to keep them in sync (a minimum of 3 Zookeepers servers for Zookeeper redundancy). While there are implementations out there that have Solr and Zookeeper on the same server, or that aren’t using an odd number of Zookeeper servers, this can be risky and more complicated to maintain.
Here’s how the setup looks in one of our production environments:
For those who aren’t looking to install it themselves, there are other Solr implementations to choose from. When dealing with enterprise-level software, a faster and hassle-free way to leverage that software is always welcomed.
As is the case with many other tools, AWS offers a Solr container that can be deployed in an instant. The container is secured and kept up to date as it's offered via Bitnami.
This allows you to:
Benefits of implementing Solr this way include:
Stay tuned for our next blog post where we take a hands-on approach regarding the installation of Solr and Zookeeper.