Получение дочерних документов - PullRequest
0 голосов
/ 25 января 2019

У меня есть индекс Elasticsearch. Каждый документ в этом индексе имеет номер (то есть 1, 2, 3 и т. Д.) И массив с именем ChildDocumentIds. Есть и дополнительные свойства. Тем не менее, каждый элемент в этом массиве является _id документа, который связан с этим документом.

У меня есть сохраненный поиск с именем «Дочерние документы». Я хотел бы использовать номер (т. Е. 1, 2, 3 и т. Д.) И получить связанные с ним дочерние документы.

Есть ли способ сделать это в Elastisearch? Я не могу найти способ сделать запрос реляционного типа в Elasticsearch для этой цели. Я знаю, что это будет медленно, но я в порядке. с этим.

1 Ответ

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

Запрос term позволяет вам сделать это.Если документ № 1000 имеет дочерние документы 3, 12 и 15, то следующие два запроса будут возвращать идентичные результаты:

"terms" : { "_id" : [3, 12, 15] }

и:

"terms" : { 
  "_id" : {
    "index" : <parent_index>,
    "type" : <parent_type>,
    "id" : 1000,
    "path" : "ChildDocumentIds"
  }
}

Причина, по которой требуется, чтобы выукажите индекс и введите второй раз, когда запрос условий поддерживает поиск по нескольким индексам.

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