在弹性搜索中闯入内部命中。非常感谢任何帮助。
我有两种子类型:childA和childB。 我正在查询这样的孩子的父母
"query":{
"bool": {
"should": {
"has_child": {
"type": "ChildA",
"query": {
"match": {
"name": {
"query": "a"
}
}
}
}
}
}
}
我的问题是如何在结果中包含所有类型为childB的子文档,而不会影响上述查询的结果。
我想在has_child查询(类型为childB)上使用内部命中,但我的查询并不依赖于childB类型。
有人有想法吗?
提前致谢
答案 0 :(得分:0)
我找到了一种包含childB类型文档的方法。
我将以下查询与上面的查询(childA类型中的has_child)结合在一个过滤器查询中,以获取childB文档。我不确定它是否是一个好方法(考虑性能)
{
"query":{
"bool":{
"should":[
{
"bool":{
"must_not":[
{
"has_child":{
"type":"ChildB",
"query":{
"match_all":{}
},
"inner_hits":{}
}
}
]
}
},
{
"has_child":{
"type":"ChildB",
"query":{
"match_all":{}
},
"inner_hits":{}
}
}
]
}
}
}