Has parent - Elasticsearch 权威指南中文版

返回介绍

Has parent

发布于 2019-07-04 字数 1867 浏览 987 评论 0

[[has-parent]]
=== Finding Children by Their Parents

While a nested query can always (((“parent-child relationship”, “finding children by their parents”)))return only the root document as a result,
parent and child documents are independent and each can be queried
independently. The has_child query allows us to return parents based on
data in their children, and the has_parent query returns children based on
data in their parents.(((“has_parent query and filter”, “query”)))

It looks very similar to the has_child query. This example returns
employees who work in the UK:

[source,json]

GET /company/employee/_search { “query”: { “has_parent”: { “type”: “branch”, “query”: { “match”: { “country”: “UK” } } } } }

Returns children who have parents of type `branch`

The has_parent query also supports the score_mode,(((“score_mode parameter”))) but it accepts only two
settings: none (the default) and score. Each child can have only one
parent, so there is no need to reduce multiple scores into a single score for
the child. The choice is simply between using the score (score) or not
(none).

.has_parent Filter


The has_parent filter works in the same way(((“has_parent query and filter”, “filter”))) as the has_parent query, except
that it doesn’t support the score_mode parameter. It can be used only in
filter context—such as inside a filtered query–and behaves
like any other filter: it includes or excludes, but doesn’t score.

While the results of a has_parent filter are not cached, the usual caching
rules apply to the filter inside the has_parent filter.


上一篇:Has child

下一篇:Children agg

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

目前还没有任何评论,快来抢沙发吧!