Managing relational data in Elasticsearch
While Elasticsearch is gaining more and more attention, it is no longer used only as a search engine. It is seen as a data analysis solution and sometimes as a primary data store. Having a single data store that enables fast and efficient full text searching often seems like a good idea. We can not only store documents, but also search them and analyze their contents, bringing meaning to the data. This is usually more than we could expect from traditional SQL databases. However, if you have any experience with SQL databases, when dealing with Elasticsearch, you soon realize the necessity of modeling relationships between documents. Unfortunately, it is not easy and many of the habits and good practices from relation databases won't work in the world of the inverted index that Elasticsearch uses. Let's have a look at all the available possibilities in Elasticsearch on how the relational data can be managed.
The object type
Elasticsearch tries to interfere...