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

апрос parent_id возвращает дочерние документы, у которых родительский документ имеет указанный идентификатор.

Запрос parent_id возвращает дочерние документы, у которых родительский документ имеет указанный идентификатор. Вы можете установить отношения родитель/дочерний между документами в одном индексе, используя тип поля join.

Пример

Перед тем как выполнить запрос parent_id, ваш индекс должен содержать поле join, чтобы установить отношения родитель/дочерний. Запрос на создание индекса использует следующий формат:

PUT /example_index
{
  "mappings": {
    "properties": {
      "relationship_field": {
        "type": "join",
        "relations": {
          "parent_doc": "child_doc"
        }
      }
    }
  }
}

Для этого примера сначала настройте индекс, который содержит документы, представляющие продукты и их бренды, как описано в примере запроса has_child.

Чтобы искать дочерние документы конкретного родительского документа, используйте запрос parent_id. Следующий запрос возвращает дочерние документы (продукты), у которых родительский документ имеет идентификатор 1:

GET testindex1/_search
{
  "query": {
    "parent_id": {
      "type": "product",
      "id": "1"
    }
  }
}

Ответ возвращает дочерний продукт:

{
  "took": 57,
  "timed_out": false,
  "_shards": {
    "total": 1,
    "successful": 1,
    "skipped": 0,
    "failed": 0
  },
  "hits": {
    "total": {
      "value": 1,
      "relation": "eq"
    },
    "max_score": 0.87546873,
    "hits": [
      {
        "_index": "testindex1",
        "_id": "3",
        "_score": 0.87546873,
        "_routing": "1",
        "_source": {
          "name": "Mechanical watch",
          "sales_count": 150,
          "product_to_brand": {
            "name": "product",
            "parent": "1"
          }
        }
      }
    ]
  }
}

Параметры

Следующая таблица перечисляет все параметры верхнего уровня, поддерживаемые запросами parent_id.

Параметр Обязательный/Необязательный Описание
type Обязательный Указывает имя дочерней связи, как определено в сопоставлении поля join.
id Обязательный Идентификатор родительского документа. Запрос возвращает дочерние документы, связанные с этим родительским документом.
ignore_unmapped Необязательный Указывает, следует ли игнорировать неразмеченные поля типа и не возвращать документы вместо того, чтобы вызывать ошибку. Вы можете указать этот параметр при запросе нескольких индексов, некоторые из которых могут не содержать поле типа. По умолчанию значение - false.