By Tennison Dougherty, Senior Consultant
You’re looking for the best search platform for you.
Recently, one of our clients decided to move to Solr.
Prior to their decision, we helped this client evaluate options, particularly another alternative, and Solr came out on top as the best route to take.
Why did they choose Solr? Should you consider Solr? Let’s take a closer look.
What does Solr say about Solr?
An open-source enterprise search platform built on Apache Lucene, Solr is self-proclaimed to provide a highly reliable, scalable and fault tolerant solution through distributed indexing, replication and load-balanced querying within a centralized configuration.
Currently powering the search and navigation features of “many of the world’s largest internet sites,” Solr includes Zappos, Best Buy, StubHub, eHarmony, and AOL among its featured clients.
Solr is found in both small and large enterprises. To decide if it’s right for you, consider the pros and cons.
What are the pros of going with Solr?
Solr is built on top of the open-source information retrieval software, Apache Lucene, which was released in 1999.
Combining years of experience and development in search with current active development, Solr offers a strong foundation to give clients confidence in its search capabilities.
Open source = affordable
The open-source nature also means clients won’t have to spend hundreds of thousands of dollars on licensing fees to get a solution product-ready.
Because Solr is built on top of Lucene, most of the configurations and underlying implementations are extensions of original Lucene code.
Large community = active support
With Solr under active development, there is the need for strong tech support. Clients seeking customized Solr solutions will find two-fold support through developers with both Lucene- and Solr-specific knowledge.
This dual availability of support is especially beneficial for clients with complex business problems and who need more customization for out-of-the-box modules.
Scalability = flexibility and growth
One of the main benefits of Solr is its scalability.
Because Solr uses a REST interface for querying, the platform can live on a remote server and allow search capabilities to scale independently from web and database servers.
Solr’s multi-core facility allows clients to create an engine (or “core”) for different types of documents or records. As different types are added, scaling is as easy as adding a new core.
Solr’s faceting feature adds to the attractiveness of Solr as a solution to an e-commerce search implementation.
Data can be arranged into categories based on indexed terms that exist in the data. The results of a search include all facets that the results fall under, and how many matching records were found on each facet.
Faceting allows users to explore search results by honing in on exactly what they are looking for.
What are the cons of going with Solr?
With the ease of scaling and—consequently—the use of distributed servers, monitoring of Solr instances and cores becomes more important.
The need for external monitoring
Solr does not have any monitoring capabilities out-of-the-box, which means an external monitoring tool will need to be used.
Though indexing is a key feature of Solr, the indexing process can take longer in the case of large collections of data with many fields that require indexing.
Open-source means no guarantees
While Solr is open-source—identified as a distinct pro—it can also be a con, especially for the legal aspects of busines.
With Solr, there are no formal support contracts, so although support is available, it’s not guaranteed.
There is also no assured availability of training to assist with building an application and no formalized release testing program.
Weighing the pros and cons
When weighed against each other, it’s evident the pros outweigh the cons. But cons are cons. How do you take care of the cons if you decide to go with Solr?
You’ll need to add monitoring tools
Though detailed monitoring isn’t provided out of the box, there are a number of tools and services that satisfy most monitoring requirements, such as SPM and AppDynamics. These tools are also built to seamlessly integrate with Solr.
You may need to address indexing
On the indexing side of things, it’s recommended that an adequate amount of RAM be added. Solr relies on fast bulk reads and writes, so its documentation suggests an ideal memory of 12GB.
Another recommendation is to separate the servers used for indexing and for searching. If both are carried out on the same server, there can be issues with the index and search process competing for CPU and memory and other resources.
Separation allows for more efficiency and provides the opportunity to more precisely configure searching and indexing servers to suit data requirements.
You need to be open to open-source
The last negative—Solr’s open-source nature—is not something you can avoid if it makes you uncomfortable. However, reaching out to experienced resources in the Solr network to aid with implementation—in design, development and deployment—can ensure a successful experience.
So what’s the bottom line?
Solr is used by many small to large enterprises to implement highly reliable and scalable search solutions.
Having been built on top of the tried-and-tested Lucene, it has undergone years of development and real-world experience.
Its faceting capability allows categorization of data and helps users find exactly what they’re looking for.
So should you consider Solr power? Absolutely. But in implementing your search solution with Solr, you’ll want to ensure you have:
- a fully capable development team
- adequate resources in terms of memory and hardware for the release systems
- the right documentation for both the business requirements and the solution itself.
If you decide to choose Solr for your search solution, doing the right things will ensure your future stays bright.