gpt4 book ai didi

elasticsearch - Elasticsearch-Bool查询无法解析搜索

转载 作者:行者123 更新时间:2023-12-03 01:03:06 27 4
gpt4 key购买 nike

因此,我尝试使用 bool(boolean) 查询来对照其他用户的黑名单检查用户的ID,以及删除用户已将其列入结果黑名单的用户。

每个查询都可以独立运行,但不能同时运行。我从elasticsearch文档中得到的印象是,在 bool(boolean) 查询中,我可以用逗号将它们链接起来。

如果有人可以告诉我我要去哪里错了,将不胜感激。

client.search({
index: 'firebase',
type: 'user',
size: 500,
body: {
"query": {
"filtered" : {
"query" : {
"bool" : {
"must_not" : {
"terms": { "id": user.blacklist},
"term": { "blacklist": user.id}
}
}
},
"filter": {
"and": query
}

}
}

}
}).then(function (resp) {
var hits = resp.hits.hits;
res.send(hits);

console.log(hits);
}, function (err) {
console.log(err);
res.sendStatus(500);
});

最佳答案

你快到了。您的must_not查询应该是一个对象数组,而不只是一个对象:

"bool" : {
"must_not" : [
{"terms": { "id": user.blacklist}},
{"term": { "blacklist": user.id}}
]
}

不要忘了每个术语搜索旁边的多余括号。

the ElasticSearch documentation中,请注意示例查询中的 should子句如何是数组而不是对象,因为它有多个子条款。

关于elasticsearch - Elasticsearch-Bool查询无法解析搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34653141/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com