原文地址: https://www.elastic.co/guide/cn/elasticsearch/guide/current/has-parent.html, 版权归 www.elastic.co 所有
英文版地址: https://www.elastic.co/guide/en/elasticsearch/guide/current/has-parent.html
英文版地址: https://www.elastic.co/guide/en/elasticsearch/guide/current/has-parent.html
请注意:
本书基于 Elasticsearch 2.x 版本,有些内容可能已经过时。
本书基于 Elasticsearch 2.x 版本,有些内容可能已经过时。
通过父文档查询子文档 (has_parent)edit
虽然nested查询只能返回根文档,但是父文档和子文档本身是彼此独立并且可被单独查询的。我们使用has_child语句可以基于子文档来查询父文档,使用has_parent语句可以基于父文档来查询子文档。
和has_child非常相似,下面的has_parent查询将会返回所有在英国(UK)工作的员工:
GET /company/employee/_search
{
"query": {
"has_parent": {
"type": "branch",
"query": {
"match": {
"country": "UK"
}
}
}
}
}
has_parent查询也支持参数score_mode,但是该参数只支持两种值:none(默认)和score。每个子文档都只有一个父文档,因此这里不存在将多个评分规约为一个的情况,score_mode的取值只能是score或none。