Elasticsearch替代联接查询

时间:2019-01-08 05:46:38

标签: elasticsearch elasticsearch-aggregation

由于我们无法在Elastic search中进行联接。.在Elasticsearch中具有联接概念的替代方法是什么。一个例子就是炉排。就像如果用户表中具有id的user_role且用户详细信息针对该ID保存在user_role表中一样,那么如何在ES中进行Alternate(Join)。

谢谢。

1 个答案:

答案 0 :(得分:1)

有几种方法可以克服这一问题。要么:

  1. 使用Parent-Child Relationship来关联文档

  2. 使用Nested docs。实际上,这就像将数据展平/标准化,以便每个文档都包含user_role数据。

  3. 更复杂的是,您可以将较小的数据集(例如,用户角色)移动到搜索服务/应用程序的内存中,然后使用内存中的用户角色来丰富和过滤来自Elasticsearch的响应在扫描响应时。仅当其中一个联接的数据集足够小而可以存储在内存中时,此方法才起作用。