2016-01-17 16:49:07 -05:00
|
|
|
[[query-dsl-parent-id-query]]
|
|
|
|
=== Parent Id Query
|
|
|
|
|
2016-02-29 10:21:39 -05:00
|
|
|
added[5.0.0]
|
2016-01-17 16:49:07 -05:00
|
|
|
|
2016-04-14 05:25:26 -04:00
|
|
|
The `parent_id` query can be used to find child documents which belong to a particular parent:
|
2016-01-17 16:49:07 -05:00
|
|
|
|
2016-04-14 05:25:26 -04:00
|
|
|
[source,js]
|
|
|
|
--------------------------------------------------
|
|
|
|
{
|
|
|
|
"parent_id" : {
|
|
|
|
"type" : "blog_tag",
|
|
|
|
"id" : "1"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
--------------------------------------------------
|
|
|
|
|
|
|
|
The above is functionally equivalent to using the following
|
|
|
|
<<query-dsl-has-parent-query, `has_parent`>> query, but performs
|
|
|
|
better as it does not need to do a join:
|
2016-01-17 16:49:07 -05:00
|
|
|
|
|
|
|
[source,js]
|
|
|
|
--------------------------------------------------
|
|
|
|
{
|
2016-04-14 05:25:26 -04:00
|
|
|
"has_parent": {
|
|
|
|
"type": "blog",
|
|
|
|
"query": {
|
|
|
|
"term": {
|
|
|
|
"_id": "1"
|
|
|
|
}
|
2016-01-17 16:49:07 -05:00
|
|
|
}
|
2016-04-14 05:25:26 -04:00
|
|
|
}
|
2016-01-17 16:49:07 -05:00
|
|
|
}
|
|
|
|
--------------------------------------------------
|
|
|
|
|
|
|
|
==== Parameters
|
|
|
|
|
|
|
|
This query has two required parameters:
|
|
|
|
|
|
|
|
[horizontal]
|
2016-04-14 05:25:26 -04:00
|
|
|
`type`:: The **child** type. This must be a type with `_parent` field.
|
2016-01-17 16:49:07 -05:00
|
|
|
|
2016-04-14 05:25:26 -04:00
|
|
|
`id`:: The required parent id select documents must referrer to.
|