我想将ids
查询与must_not
子句合并。我正在使用(重新)轮胎宝石和轨道应用。
我正在做这样的事情:
query do
ids ["foo", "bar", "test"]
end
哪个有效。但是,当我尝试将其与must_not
子句结合使用时,我收到错误 - must_not
仅适用于boolean
范围,不包括ids
查询。有没有办法将这两个查询结合起来?
答案 0 :(得分:6)
您需要使用的ES查询是:
GET /some_index/some_type/_search
{
"query": {
"bool": {
"must": [
{
"ids": {
"values": ["foo", "bar", "test"]
}
}
],
"must_not": [
{
"match": {
"name": "whatever"
}
}
]
}
}
}
因此,您需要布尔范围,must
与您的ids
和must_not
与您的必须不匹配的查询。