在 Mapping 里面,将 dynamic 参数设置成 strict 可以拒绝索引包含未知字段的文档。 此条 Tips 由 medcl 贡献。

join文档中如何查询没有子文档的父文档

Elasticsearch | 作者 insist_93 | 发布于2019年05月27日 | 阅读数:2494

父文档:teacher,子文档:student,假设索引中存在某些teacher文档未被任何student指定为父文档,那么怎样把这部分teacher查出来?
已邀请:

laoyang360 - 《一本书讲透Elasticsearch》作者,Elastic认证工程师 [死磕Elasitcsearch]知识星球地址:http://t.cn/RmwM3N9;微信公众号:铭毅天下; 博客:https://elastic.blog.csdn.net

赞同来自: insist_93

提供思路参考。
@陈俊荣 :# 文档分几种情况,1:有父亲,没儿子(要查询的);2:有父亲,有儿子(要must_not 排除的);3:无父亲,无儿子(没有数据);4:无父亲,有儿子(不可能)
GET my_index/_search
{
"query": {
"bool": {
"must_not": [
{
"has_child": {
"type": "answer",
"query": {
"match_all": {}
}
}
},
{
"has_parent": {
"parent_type" : "question",
"query": {
"match_all": {}
}
}
}
]
}
}
}

要回复问题请先登录注册