沙师弟,师父的充电器掉了

利用must_not 和 has_child联合使用对has_child取反

Elasticsearch | 作者 cindyming | 发布于2018年03月02日 | 阅读数:4884

我们希望可以查到从来没有点击过conversation menu的人,我们现在的做法是用must_not对has_child进行取反,但是我们验证结果并不对

json:
{
"query": {
"filtered": {
"filter": {
"bool": {
"must": [
{
"term": {
"group": "33"
}
}
],
"should": [
[
{
"bool": {
"must": [
[
{
"bool": {
"must_not": {
"has_child": {
"type": "******_menu",
"query": {
"filtered": {
"filter": {
"bool": {
"must": [
{
"term": {
"type": "menu"
}
},
{
"term": {
"keyword": "Conversation"
}
}
]
}
}
}
}
}
}
}
}
]
]
}
}
]
]
}
}
}
}
}
这样的取反是不对的吗?如果不对我们需要怎么样做才合适呢?
已邀请:

medcl - 今晚打老虎。

赞同来自:

问题应该在should,你把它放到must里面,should的结果会优先的,所以第一层上面的must忽略了

要回复问题请先登录注册