我正在elasticSearch中寻找与一个或另一个品牌不匹配的文件,但要完全满足修复要求。我正在寻找不是来自丰田,宝马或奥迪的条目。但是该条目必须是superEntry(完全匹配)
以下查询是我正在处理的内容:
"query": {
"bool": {
"filter": {
"term": {
"superEntry": true
}
},
"must": {
"bool": {
"must_not": [
{
"term": {
"brand": "Toyota"
}
},
{
"term": {
"brand": "BMW"
}
},
{
"term": {
"brand": "Audi"
}
}
]
}
}
}
}
}
预期:我发现来自其他品牌的任何超级条目,但没有来自那些3的条目。上面的查询仍然列出我的宝马汽车为例。
答案 0 :(得分:1)
未经测试,但类似的方法会有所帮助-
{
"size": 10,
"query": {
"bool": {
"must": [
{
"match": {
"superEntry": true
}
}
],
"must_not": [
{
"terms": {
"brand": [
"Toyota",
"BMW",
"Audi"
]
}
}
]
}
}
}