Elasticsearch как вложенный объект подключается к родительскому документу - PullRequest
0 голосов
/ 03 января 2019

Я хочу понять, сколько стоит извлечь родительский документ с вложенным документом.

Внутренне вложенные объекты индексируют каждый объект в массиве как отдельный скрытый документ, что означает, что каждый вложенный объектможно запрашивать независимо от других ...

Я не могу найти объяснения, как вложенный документ относится к этому родительскому документу в документе ES.Содержит ли родительский документ nested ojbect _id, когда мы выбираем parent, он просто находит источник вложенного объекта через id и заменяет этот объект на id в результате?

1 Ответ

0 голосов
/ 03 января 2019

Общая идея вложенных объектов заключается в следующем - вместо того, чтобы полагаться на идентификаторы для объединения, так как parent-child подход делает это с использованием логической организации документов

Каждый вложенный объектзаписанный непосредственно перед родительским документом:

NESTED_DOC11 NESTED_DOC12 PARENT_DOC1 NESTED_DOC21 NESTED_DOC22 PARENT_DOC2

- это умный трюк, который постоянно используется для эффективного запроса на вложенный объект, не выполняя интенсивных поисков по идентификаторам.

Однако это подразумевает некоторые ограничения - например, вы не можете обновить / удалить / добавить вложенный документ без переиндексации всего «блока»

Более подробная информация об этом подходе там

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...