Understanding key concepts in Elasticsearch
We will be sending queries to Elasticsearch very shortly, but it helps if we understand a few basic concepts.
Elasticsearch is a JSON document store
As you might have noticed from the response body of our API call, Elasticsearch stores data in JavaScript Object Notation (JSON) format. This allows developers to store objects with more complex (often nested) structures when compared to relational databases that impose a flat structure with rows and tables.
That's not to say document databases are better than relational databases, or vice versa; they are different and their suitability depends on their use.
Document vs. relationship data storage
For example, your application may be a school directory, storing information about schools, users (including teachers, staff, parents, and students), exams, classrooms, classes, and their relations with each other. Given that the data structure can be kept relatively flat (that is, mostly simple key-value entries...