Spec-Zone.ru › Elasticsearch 7
›Elasticsearch Guide [7.17] ›Query DSL ›Объединение запросов

Запрос по идентификатору родителя

Возвращает дочерние документы, присоединённые к конкретному родительскому документу. Вы можете использовать отображение поля соединения для создания родительско-дочерних отношений между документами в одном индексе.

Пример запроса

Настройка индекса

Для использования запроса parent_id, ваш индекс должен включать отображение поля соединения. Чтобы увидеть, как настроить индекс для запроса parent_id, попробуйте следующий пример.

  1. Создайте индекс с отображением поля соединения.

    PUT /my-index-000001
    {
      "mappings": {
        "properties": {
          "my-join-field": {
            "type": "join",
            "relations": {
              "my-parent": "my-child"
            }
          }
        }
      }
    }
  2. Индексируйте родительский документ с идентификатором 1.

    PUT /my-index-000001/_doc/1?refresh
    {
      "text": "This is a parent document.",
      "my-join-field": "my-parent"
    }
  3. Индексируйте дочерний документ родительского документа.

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

Пример запроса

Следующий поиск возвращает дочерние документы для родительского документа с идентификатором 1.

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

Параметры верхнего уровня для parent_id

type
(Обязательное, строка) Название отображения дочерних отношений для поля соединения.
id
(Обязательное, строка) Идентификатор родительского документа. Запрос вернет дочерние документы этого родительского документа.
ignore_unmapped

(Необязательно, логическое значение) Указывает, нужно ли игнорировать неопределенное type и не возвращать никаких документов вместо ошибки. По умолчанию, false.

Если false, Elasticsearch возвращает ошибку, если type неопределено.

Вы можете использовать этот параметр для запроса к нескольким индексам, которые могут не содержать type.

© 2023-2025 Elasticsearch
As of September 2024, Elasticsearch is available under a choice of three licenses: the Server Side Public License (SSPL), the Elastic License, or the AGPLv3 (OSI approved).
Elasticsearch and the Elasticsearch logo are trademarks of Elasticsearch B.V., registered in the U.S. and in other countries.
https://www.elastic.co/guide/en/elasticsearch/reference/7.17/query-dsl-parent-id-query.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API