Using nested objects
Nested objects can come in handy in certain situations. Basically, with nested objects Elasticsearch allows us to connect multiple documents together – one main document and multiple dependent ones. The main document and the nested ones are indexed together and they are placed in the same segment of the index (actually, in the same block inside the segment, near each other), which guarantees the best performance we can get for such a data structure. The same goes for changing the document; unless you are using the update API, you need to index the parent document and all the other nested ones at the same time.
Note
If you would like to read more about how nested objects work on the Apache Lucene level, there is a very good blog post written by Mike McCandless at http://blog.mikemccandless.com/2012/01/searching-relational-content-with.html.
Now let's get on with our example use case. Imagine that we have a shop with clothes and we store the size and color of each t-shirt...