Powerful and resilient database
June 13, 2017

Powerful and resilient database

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

Overall Satisfaction with Elasticsearch

We have used Elasticsearch for indexing both large and small documents for rapid searching and retrieval. Our other services analyze the documents we index in Elasticsearch to look for interesting information that can help us and our customers make informed decisions.

We also enjoy leveraging the built-in data replication features to keep our data as available and easily retrievable as possible.
  • Indexing. Elasticsearch can index thousands of documents per second.
  • Searching. Elasticsearch provides plenty of options for querying your data to get just the right information back.
  • Scalability. Elasticsearch has built-in features for replicating data and distributing load, so you don't have to invest a ton of time and effort into third-party or customized clustering and/or sharding solutions.
  • Backup. Elasticsearch has built-in options for backing up your data. If you're dealing with a large cluster, backing things up can get rather interesting from a storage perspective, but Elasticsearch has worked very well for us thus far.
  • Recovery. If part of your cluster goes offline, Elasticsearch generally does a decent job of staying online and recovering from the outage. Occasionally you'll lose nodes that house all copies of a given set of shards (which isn't fun), but Elasticsearch still handles that situation as well as can be expected.
  • Elasticsearch can struggle if you're trying to create too many new indexes at the same time.
  • We would not be able to do what we do without Elasticsearch. Our business revolves around it.
We first started out experimenting with PostgreSQL's fulltext searching capabilities for our project. As our dataset grew, PostgreSQL began to slow down too much for our purposes. The simple fact that Elasticsearch has built-in clustering and replication was enough for us to switch away from PostgreSQL very early on in our development efforts.
As the name implies, when you need to search thousands, millions, or billions text-based documents for keywords, Elasticsearch is great. The way it indexes and internally analyzes the content of your documents is very powerful. Assuming you have enough servers in your cluster with fast enough storage, querying those documents becomes a breeze.

Using Elasticsearch

To get started with Elasticsearch, you don't have to get very involved in configuring what really is an incredibly complex system under the hood. You simply install the package, run the service, and you're immediately able to begin using it. You don't need to learn any sort of query language to add data to Elasticsearch or perform some basic searching.

If you're used to any sort of RESTful API, getting started with Elasticsearch is a breeze. If you've never interacted with a RESTful API directly, the journey may be a little more bumpy. Overall, though, it's incredibly simple to use for what it's doing under the covers.
ProsCons
Like to use
Relatively simple
Easy to use
Technical support not required
Well integrated
Consistent
Quick to learn
Convenient
Feel confident using
None
  • Indexing. Simply toss documents at the REST API, and Elasticsearch will figure out what to do.
  • Querying. There are tons of options for querying your data.
  • Scrolling through hundreds or thousands of results can be a bother.