加入查询编辑
执行完整的sql风格像Elasticsearch连接在一个分布式系统是非常昂贵的。相反,Elasticsearch提供两种形式的加入是为了规模水平。
-
文档可能包含字段的类型
nested
。 这些字段是用来索引数组的对象,其中每个对象可以查询(nested
查询)作为一个独立的文档。 -
两个文档类型之间的亲子关系可以存在在一个索引。
的
has_child
查询返回父文档的子文档匹配指定的查询,而has_parent
查询返回子文件的父文档匹配指定的查询。
nested
查询
has_child
和 has_parent
查询
QueryBuilder qb = nestedQuery(
"obj1", //1
boolQuery() //2
.must(matchQuery("obj1.name", "blue"))
.must(rangeQuery("obj1.count").gt(5))
)
.scoreMode("avg"); //3
QueryBuilder qb = hasChildQuery(
"blog_tag", //1
termQuery("tag","something") //2
);
QueryBuilder qb = hasParentQuery(
"blog", //1
termQuery("tag","something") //2
);
父类型来查询 | |
查询 |