elasticsearch/docs/reference/query-languages/query-dsl-parent-id-query.md
Colleen McGinnis b7e3a1e14b
[docs] Migrate docs from AsciiDoc to Markdown (#123507)
* delete asciidoc files

* add migrated files

* fix errors

* Disable docs tests

* Clarify release notes page titles

* Revert "Clarify release notes page titles"

This reverts commit 8be688648d.

* Comment out edternal URI images

* Clean up query languages landing pages, link to conceptual docs

* Add .md to url

* Fixes inference processor nesting.

---------

Co-authored-by: Liam Thompson <32779855+leemthompo@users.noreply.github.com>
Co-authored-by: Liam Thompson <leemthompo@gmail.com>
Co-authored-by: Martijn Laarman <Mpdreamz@gmail.com>
Co-authored-by: István Zoltán Szabó <szabosteve@gmail.com>
2025-02-27 17:56:14 +01:00

2.5 KiB

navigation_title mapped_pages
Parent ID
https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-parent-id-query.html

Parent ID query [query-dsl-parent-id-query]

Returns child documents joined to a specific parent document. You can use a join field mapping to create parent-child relationships between documents in the same index.

Example request [parent-id-query-ex-request]

Index setup [parent-id-index-setup]

To use the parent_id query, your index must include a join field mapping. To see how you can set up an index for the parent_id query, try the following example.

  1. Create an index with a join field mapping.

    PUT /my-index-000001
    {
      "mappings": {
        "properties": {
          "my-join-field": {
            "type": "join",
            "relations": {
              "my-parent": "my-child"
            }
          }
        }
      }
    }
    
  2. Index a parent document with an ID of 1.

    PUT /my-index-000001/_doc/1?refresh
    {
      "text": "This is a parent document.",
      "my-join-field": "my-parent"
    }
    
  3. Index a child document of the parent document.

    PUT /my-index-000001/_doc/2?routing=1&refresh
    {
      "text": "This is a child document.",
      "my-join-field": {
        "name": "my-child",
        "parent": "1"
      }
    }
    

Example query [parent-id-query-ex-query]

The following search returns child documents for a parent document with an ID of 1.

GET /my-index-000001/_search
{
  "query": {
      "parent_id": {
          "type": "my-child",
          "id": "1"
      }
  }
}

Top-level parameters for parent_id [parent-id-top-level-params]

type
(Required, string) Name of the child relationship mapped for the join field.
id
(Required, string) ID of the parent document. The query will return child documents of this parent document.
ignore_unmapped
(Optional, Boolean) Indicates whether to ignore an unmapped type and not return any documents instead of an error. Defaults to false.

If false, {{es}} returns an error if the type is unmapped.

You can use this parameter to query multiple indices that may not contain the type.