弹性搜索中的复杂嵌套查询

时间:2020-05-28 18:35:06

标签: elasticsearch

我在Elastic中有一个复杂的查询要求,我想知道在Elastic中这是否可能。 我的弹性索引具有以下数据结构:

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

我的最终目标是使用“邻居”字段从已经具有该信息的数据中查找“ dc”数据。基本上,由于“ host1”是“ host3”的邻居,并且“ host3”具有dc信息,因此我应该可以说“ host1”也应具有“ dc1”作为“ dc”信息。 我可以在脚本中使用多个弹性查询来做到这一点,例如:从“ host1”获取“邻居”,然后遍历每个主机以获取dc信息,最终我将从“ host3”获取“ dc1”并完成。 但是我想知道是否可以构建一个可以执行上述操作的弹性查询,而不是多个单独的查询。

0 个答案:

没有答案