0
所以我試圖使用一個bool查詢來檢查用戶的ID與其他用戶的黑名單,以及刪除用戶在結果中列入黑名單的用戶。Elasticsearch - Bool查詢無法解析搜索
每個查詢都能正常工作,但不在一起。我在elasticsearch文檔的印象下,在一個布爾查詢中,我可以用逗號將它們鏈接起來。
如果有人能告訴我我哪裏出錯了,那將非常感激。
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);
});
謝謝你......一個問題。 user.blacklist是一個ID數組,不應該是一個術語搜索,以便遍歷它來匹配ID? –
如果你想匹配多個值,你說得對,要走的路。 –
糟糕,你是對的。我應該認識到黑名單是一個數組而不是一個單一的值。我會編輯我的答案。 – Jeremy