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