сложный вложенный запрос в эласти c поиск - PullRequest
0 голосов
/ 28 мая 2020

У меня есть сложное требование к запросу в elasti c, и я хотел бы знать, возможно ли это в elasti c. У меня есть следующая структура данных в elasti c index:

{
 {
   "hostname" : "host1",
   "neighbors" : ["host2", host3"]
 },
 {
   "hostname" : "host2",
   "neighbors" : ["host1", host3"]
 },
 {
   "hostname" : "host3",
   "dc" : "dc1",
   "neighbors" : ["host2", host1"]
 }
}

Моя конечная цель - использовать поле «соседи», чтобы найти данные «d c» из того, у которого уже есть Информация. В принципе, поскольку «host1» является соседом «host3», а «host3» имеет информацию d c, я могу сказать, что «host1» также должен иметь «dc1» в качестве информации «d c». Я мог бы сделать это, используя несколько запросов elasti c в скрипте, например: получить «соседи» от «host1», затем go через каждый хост, чтобы получить информацию d c, и в конечном итоге я бы получил «dc1» от host3 и готово. Но я хотел бы знать, можно ли создать один запрос elasti c, который выполнял бы вышеуказанные вещи вместо нескольких отдельных запросов.

...