我有一个查询,应该获取与这些ID之一匹配的任何行。查询不返回任何内容,但应返回两行。如果我删除一个id,我会退回一行。我假设它做的是AND而不是OR。我怎么能改变这个? (实际上我有更多的ID要查询)
{
"query": {
"bool": {
"filter": [
{
"term": {
"_id": 1273359
}
},
{
"term": {
"_id": 480421
}
}
]
}
}
}
答案 0 :(得分:2)
尝试ids
filter而不是
{
"query": {
"bool": {
"filter": [
{
"ids": {
"values": ["1273359", "480421"]
}
}
]
}
}
}
请注意,您的意思是“查找ID为1273359 AND 1273359的文档”,这在实践中是不可能的。使用上面的查询,您有一个OR而不是AND,它将起作用。
答案 1 :(得分:0)
为什么要使您的查询复杂化!改用这个糖语法:
{
"query": {
"ids" : {
"values" : ["0", "1"]
}
}
}