Elasticsearch: поиск в полнотекстовом поиске только по родительским документам - PullRequest
0 голосов
/ 10 октября 2018

Я использую join_fields для хранения документов с родительскими и дочерними отношениями.И у родителей, и у ребенка есть текстовые данные, которые нужно искать для разных вариантов использования.Запросы has_parent и has_children работают нормально для стандартных вариантов использования.

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

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

client.search({
   index: '**',
   body: {
   query: {
     match: {
      text: "**"       
     }
   }
  },
}).then((res)=>{
   console.log(res.hits.hits[0]);
})

Разве простой запрос на совпадение не работает для отношений соединения?

Цель: я хочу найти наиболее релевантный родительский документ на основе текстового поля родительского документа независимо от его дочерних элементов и получить его parent_id.

...