Using the parent-child relationship
In the previous section, we discussed using Elasticsearch to index the nested documents along with the parent one. However, even though the nested documents are indexed as separate documents in the index, we can't change a single nested document (unless we use the update API). Elasticsearch allows us to have a real parent-child relationship and we will look at it in the following section.
Index structure and data indexing
Let's use the same example that we used when discussing the nested documents – the hypothetical cloth store. What we would like to have is the ability to update the sizes and colors without the need to index the whole parent document after each change. We will see how to achieve that using Elasticsearch parent-child functionality.
Child mappings
First we have to create a child index definition. To create child mappings, we need to add the _parent
property with the name of the parent type, which will be cloth in our case. In the children documents...