12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- [[query-dsl-parent-id-query]]
- === Parent Id Query
- 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": {
- "_doc": {
- "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.
|