Read this before using ElasticSearch
To coincide with Cloudspace's release of Rubberband Flamethrower, a benchmarking tool for ElasticSearch, here's some more helpful info if you're planning on building search into your app.
ElasticSearch is in the Lucene family, the same as Solr, but the two have different uses. If you're working on a small app that needs to search less than a million documents and the database isn't updated more than once every ~15 minutes, Solr is the choice, and a lot of projects fit inside these requirements.
That's not to suggest that Solr is a junior option. Solr is really fast -- faster than ElasticSearch. Solr is used in enterprise search. It's a definite contender.
One advantage to ElasticSearch is that it is easy to scale a big number of queries and documents. This comes from the fact that ElasticSearch was originally built for this use case -- Solr had it added-on over time. This means ElasticSearch has a great mechanism for pushing out updates between servers. It also means that since it is better at handling constant updates (from syncs), it can also handle lots of writes and stay up. Solr can't. This makes it good for real-time systems.
If you're in the earliest stages of considering ElasticSearch, there are two pages that you should read to help you evaluate ElasticSearch vs Solr. One is a walkthrough from the folks at Sematext covering the feature differences, and also a sales-checklist comparison.
ElasticSearch has a good community around it, and is going to be supported for a while, which is important for a piece of architecture.
Getting started with ElasticSearch is easy. Michael's announcement of Rubberband Flamethrower, our benchmarking tool, has everything you need to get started in development. And once you get comfortable and want to deploy into production, here's a checklist that makes it easy to deploy ElasticSearch.
If you’re considering integrating search into your application, think about hiring Cloudspace to help. Get in touch for a free consultation.