Elasticsearch - Great tool for search applications
April 05, 2017

Elasticsearch - Great tool for search applications

Anonymous | TrustRadius Reviewer
Score 8 out of 10
Vetted Review
Verified User

Overall Satisfaction with Elasticsearch

We use ElasticSearch for the search functionality in our application. We have a lot of data to search from and ElasticSearch makes it ridiculously fast by tokenizing the content. It enables us to do free text search in a large blob of audio transcripts that we have.
  • Easy to scale - It's designed to be used across distributed environments. Indexes can be divided into shards, with each shard able to have any number of replicas.
  • Search queries can be structured as JSON objects (in addition to text strings) that enables complex and robust searches.
  • If your application needs an effective solution for dynamic searching, I think ElasticSearch is the way to go.
  • If you want to store or retrieve data outside of searching, you may want to try a different solution since ElasticSearch's capabilities are limited.
  • If you want to do large or complex computations with the data, ElasticSearch isn't really good at that.
  • ElasticSearch shouldn't be the primary source of data because data backups and durability are not high priority.
  • Open source project that optimized search views in our application.
  • Cost of managing the elasticsearch clusters was added (which is small compared to the gains).
  • We are highly satisfied with what we got out of ElasticSearch.
For our application, ElasticSearch fulfilled all the criteria we were looking for. Something that's easy to scale and flexible. I think ElasticSearch works better that Solr with modern real-time search applications. Also, ElasticSearch is easy to integrate with. ElasticSearch is distributed with real-time replications.
It does the thing that it was designed for (quickly searching through bulk load of data) very very well. Also, it's scalable and flexible. Don't try it for other cases. It's not a NoSQL data store where you will want to store and retrieve data. Also, don't try any complex computations. That will make the retrieval slow and the benefits will be lost.