You want Elasticsearch when you’re doing a lot of text search, where traditional RDBMS databases are not performing really well (poor configuration, acts as a black-box, poor performance). Elasticsearch is highly customizable, extendable through plugins.
One common answer is, elasticsearch is a distributed search and analytics engine built on Apache Lucene. Since its release in 2010, Elasticsearch has quickly become the most popular search engine and is commonly used for log analytics, full-text search, security intelligence, business analytics, and operational intelligence use cases.
What is Elasticsearch and why should you care?
It’s no surprise that Elasticsearch is steadily gaining ground in the site search domain sphere. Enterprise search —- Elasticsearch allows enterprise-wide search that includes document search, E-commerce product search, blog search, people search, and any form of search you can think of.
One more question we ran across in our research was “What is the best database to use for Elasticsearch?”.
Some authors claimed elasticsearch is not meant to be a primary datastore so my advice is to use a simple relational database like Postgres and use simple SQL queries / a ORM mapper. If the dataset is not really large it should be fast enough. When you have performance issues on searches you can use a combination of relation db and Elasticsearch.
What is your primary use case for Elasticsearch?
Elasticsearch is used for a lot of different use cases: “classical” full text search, analytics store, auto completer, spell checker, alerting engine, and as a general purpose document store.
Is Elasticsearch a datastore?
, unlike no SQL databases, Elasticsearch is primarily designed to be a search engine, instead of a datastore. It has amazing capabilities to perform fast, almost real-time, and advanced searches. Usually, it is integrated on top of other databases, but Elasticsearch can also be used as a datastore itself.
This of course begs the inquiry “What is the best alternative to ElasticSearch for text search?”
The answer is that cloudant (JSON doc store) integrates Apache Lucene (very closely related to Elastic. Search interface) and scales it out much the same way Elastic, and search does. There are other JSON databases that implement text search.
When to use relational DB and Elasticsearch feeders?
When you have performance issues on searches you can use a combination of relation db and Elasticsearch. You can use Elasticsearch feeders to update ES with your data in you relational db. Thanks for contributing an answer to Stack Overflow!
Are relational databases better than search engines?
Relational databases are better in read-what-was-just-written performance. Search engines are better at really quick search with additional tricks like all kinds of normalization: lowercase, ä->a or ae, prefix matches, ngram matches (if indexed respectively).