Elasticsearch查询朋友的朋友

时间:2018-10-24 11:40:34

标签: elasticsearch search lucene

上下文: 我们有两个实体/索引

users: {
  properties: {
    id: {
      type: 'keyword'
    }
  }
}

connections: {
  properties: {
    user1: {
      type: 'keyword',
    },
    user2: {
      type: 'keyword',
    }
  }
}

连接实体将两个用户链接为好友。

问题

对于给定的用户,我如何找到朋友的朋友? 用户1是用户2的朋友,用户2是用户3的朋友。因此,用户3是用户1的朋友的朋友

限制:

  • 还不能实现非规范化

  • 父子关系不能使用,因为该连接需要有两个父级,或者我需要复制所有集合才能起作用

想到的唯一解决方案是通过应用程序侧连接,但这可能会导致非常大的查询和分页问题。

是否还有其他方法可以仅通过查询/汇总来找到朋友的朋友?

0 个答案:

没有答案