Запрос по идентификатору родителя
Запрос 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. |