连接查询

编辑

在像 Elasticsearch 这样的分布式系统中执行完整的 SQL 式连接查询的代价非常高昂。 因此,Elasticsearch 提供了两种旨在水平扩展的连接形式。

nested 查询
文档可能包含 nested 类型的字段。 这些字段用于索引对象数组,其中每个对象都可以作为独立的文档进行查询(使用 nested 查询)。
has_childhas_parent 查询
在单个索引内的文档之间可以存在 join 字段关系has_child 查询返回其子文档与指定查询匹配的父文档,而 has_parent 查询返回其父文档与指定查询匹配的子文档。

另请参阅 terms 查询中的 terms-lookup 机制,它允许您从另一个文档中包含的值构建 terms 查询。

注意

编辑
允许高开销查询
编辑

如果 search.allow_expensive_queries 设置为 false,则不会执行连接查询。