One of the questions we’re asked all the time is which of the two most popular open source search engines is best for a particular use case – and the answer is always ‘it depends’. Broadly speaking, Apache Lucene/Solr and Elasticsearch are very similar in terms of features and performance. If you’ve already chosen one of them, there’s very few reasons to incur the inevitable extra work of switching to the other. However if you’re still not sure which to choose, read on.
Solr, being the older and more mature project, is often chosen by organisations who are comfortable with building and managaing enterprise Java applications, already using other Apache open source projects and whose data is generally complex and of many different sizes and types. The queries used may also be quite complex. They like the fact that there are many places to obtain support and development services from and the wide range of documentation, books and articles on Solr. They also like its proven stability at large scale. Some examples from our own client list are Bloomberg, News UK, Reed Specialist Recruitment and Infomedia.
Elasticsearch is often chosen by organisations who are following the latest trends in terms of programming languages and frameworks, aren’t necessarily thinking they need a ‘search engine’ (they may for example be building analytics tools) and are likely to be ingesting a large number of reasonably small items of data. They want a tool that will scale easily and automatically without them having to think about how to do it. Although there isn’t so much documentation on Elasticsearch, and the support and training options are pretty much centred around one company (who also control the development roadmap), they like the fact that it’s quick to get started with. Some examples from our own client list are Arachnys, the Office for National Statistics, Westcoast and Eagle Genomics.
There’s exceptions of course and several of our clients use both Solr and Elasticsearch in different situations and for different purposes. You can build site search, enterprise search, Big Data and analytics systems with either – and we’re happy to offer consulting, training and support for both. If you need advice or help with your choice do get in touch or come along to a Meetup and chat to us in person.