我正在elasticSearch中寻找与一个或另一个品牌不匹配的文件,但要完全满足修复要求。我正在寻找不是来自丰田,宝马或奥迪的参赛作品。但是条目必须是superEntry(完全匹配)
以下查询是我正在从事的工作:
"query": {
"bool": {
"filter": {
"term": {
"superEntry": true
}
},
"must": {
"bool": {
"must_not": [
{
"term": {
"brand": "Toyota"
}
},
{
"term": {
"brand": "BMW"
}
},
{
"term": {
"brand": "Audi"
}
}
]
}
}
}
}
}
预期:我找到了其他品牌的任何 super 条目,但没有找到它们的3。上面的查询仍然列出了我的宝马汽车示例。
最佳答案
未经测试,但类似的东西会有所帮助-
{
"size": 10,
"query": {
"bool": {
"must": [
{
"match": {
"superEntry": true
}
}
],
"must_not": [
{
"terms": {
"brand": [
"Toyota",
"BMW",
"Audi"
]
}
}
]
}
}
}
关于elasticsearch - 如何创建不应与多个类别中的任何一个匹配的ElasticSearch查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57061464/