72 lines
1.5 KiB
Plaintext
72 lines
1.5 KiB
Plaintext
[[query-dsl-parent-id-query]]
|
|
=== Parent ID query
|
|
++++
|
|
<titleabbrev>Parent ID</titleabbrev>
|
|
++++
|
|
|
|
The `parent_id` query can be used to find child documents which belong to a particular parent.
|
|
Given the following mapping definition:
|
|
|
|
[source,js]
|
|
--------------------------------------------
|
|
PUT my_index
|
|
{
|
|
"mappings": {
|
|
"properties": {
|
|
"my_join_field": {
|
|
"type": "join",
|
|
"relations": {
|
|
"my_parent": "my_child"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
PUT my_index/_doc/1?refresh
|
|
{
|
|
"text": "This is a parent document",
|
|
"my_join_field": "my_parent"
|
|
}
|
|
|
|
PUT my_index/_doc/2?routing=1&refresh
|
|
{
|
|
"text": "This is a child document",
|
|
"my_join_field": {
|
|
"name": "my_child",
|
|
"parent": "1"
|
|
}
|
|
}
|
|
|
|
--------------------------------------------
|
|
// CONSOLE
|
|
// TESTSETUP
|
|
|
|
[source,js]
|
|
--------------------------------------------------
|
|
GET /my_index/_search
|
|
{
|
|
"query": {
|
|
"parent_id": {
|
|
"type": "my_child",
|
|
"id": "1"
|
|
}
|
|
}
|
|
}
|
|
--------------------------------------------------
|
|
// CONSOLE
|
|
|
|
|
|
==== Parameters
|
|
|
|
This query has two required parameters:
|
|
|
|
[horizontal]
|
|
`type`:: The **child** type name, as specified in the <<parent-join,`join` field>>.
|
|
`id`:: The ID of the parent document.
|
|
|
|
`ignore_unmapped`:: When set to `true` this will ignore an unmapped `type` and will not match any
|
|
documents for this query. This can be useful when querying multiple indexes
|
|
which might have different mappings. When set to `false` (the default value)
|
|
the query will throw an exception if the `type` is not mapped.
|