Rajkaran Mishra
Rajkaran Mishra

Reputation: 4952

Rails 5 App with Elasticsearch as database instead of a relational one

Is it possible to use Elasticsearch as database for a Rails Application?

I have gone through many sites, blogs, and videos to find the answer of this, but was unable to and this being the closest.

I am not sure how can it be done, what goes in the database/config.yml and will the schema be getting generated after migrate?

Upvotes: 1

Views: 300

Answers (2)

Nick M
Nick M

Reputation: 2532

No, only these databases: MySQL, PostgreSQL, SQLite are supported if you want to use ActiveRecord, and there are also mappers for Mongo and the like.

There are some mappers and adapters out there though but I wouldn't touch them with a 10 foot barge pole - some things just shouldn't exist in this world.

Upvotes: -1

Paulo Fidalgo
Paulo Fidalgo

Reputation: 22331

Yes, of course it is, but you cannot use ActiveRecord ORM, basically you'll have to create your own adapter.

If you want to go quick, I would advise you to create the activerecord models, just like any regular app, then use Searchkick and create mappings from your models.

You need to be aware that if you're not using a database to hold the values you'll need to create a repository to handle the CRUD operations in Elasticsearch.

Another option is to use https://github.com/elastic/elasticsearch-rails, but in both cases you need to have the Rails models.

If you really want to go for ElasticSearch only, in you controllers you need to call your own created repositories to fetch and save the records in ElasticSearch.

Upvotes: 2

Related Questions