elasticsearch 如何在两个Elasticsearch索引上创建SQL样式的联接?,elasticsearch,join,search,elasticsearch,Join,Search" /> elasticsearch 如何在两个Elasticsearch索引上创建SQL样式的联接?,elasticsearch,join,search,elasticsearch,Join,Search" />

elasticsearch 如何在两个Elasticsearch索引上创建SQL样式的联接?

elasticsearch 如何在两个Elasticsearch索引上创建SQL样式的联接?,elasticsearch,join,search,elasticsearch,Join,Search,我有两个Elasticsearch索引。我希望能够以类似于SQL联接的方式搜索它们 一个索引存储课程数据,并包含使用位置文档id的位置索引引用 本质上,我试图做的是一个典型的SQL连接。 从课程L中选择*在L.location上连接位置LC\U id=LC.id 我的第一个解决方案是在更新文档时将位置信息添加到课程索引中。这将是弹性搜索-平面数据方法中的正确方法。然而,问题是这两组数据是独立维护的。因此,当位置更新时,所有相关的课程文档都需要更新 我看到的第二个解决方案是在Elasticsear

我有两个Elasticsearch索引。我希望能够以类似于SQL联接的方式搜索它们

一个索引存储课程数据,并包含使用位置文档id的位置索引引用

本质上,我试图做的是一个典型的SQL连接。 从课程L中选择*在L.location上连接位置LC\U id=LC.id

我的第一个解决方案是在更新文档时将位置信息添加到课程索引中。这将是弹性搜索-平面数据方法中的正确方法。然而,问题是这两组数据是独立维护的。因此,当位置更新时,所有相关的课程文档都需要更新


我看到的第二个解决方案是在Elasticsearch中加入查询,但据我从文档中了解,这在不同索引之间是不可能的。

您可能可以使用术语查找

但是,如果在加入中涉及太多的术语,那么性能将是一个问题。另外,弹性将其限制为65536(我猜是在较新的版本中)