я понимаю, что тип объединения "родительский / дочерний" эластичный поиск поддерживает такие запросы, как has_parent, has_child. Но для моего простого варианта использования у меня всегда будет только один тип «родитель-ребенок», у одного родителя могут быть миллионы детей, у одного ребенка может быть только один родитель. Я могу представить родителя в виде строкового поля. Единственный запрос, который мне небезразличен и я делаю много, - это получить все дочерние документы с определенным parent_id.
Каков рейтинг запросов среди следующих трех моделей данных?
- индексировать как родительские / дочерние документы и использовать запрос parent_id для извлечения всех дочерних элементов.
- индексировать денормализованный документ с родительским_идом в качестве строкового поля документа, направлять документ по полю parent_id,и используйте term_query для извлечения всех документов, имеющих определенное поле parent_id.
- индексирование дочерних документов в качестве вложенных полей и поле parent_id в полях верхнего уровня. (у этого есть недостаток медленного обновления, но меня больше интересует перфект запросов)
этот вопрос с автоответчиком затронул ту же ситуацию, но ответ не ясен, и единственный тип родителязапрашивая документ, я сделаю это, чтобы соответствовать по строке parent_id. Почему я не должен легко реализовать отношение типа данных соединения, подобное Elasticsearch parent-child