我正在尝试对我的弹性搜索数据集执行查询。我的目标是获得符合任何一个标准的所有记录,所以基本上是一堆 OR。这是我的查询的样子:
{
"query" : {
"filtered" : {
"query" : {
"match_all":{}
},
"filter" : {
"or" : [
{"match" : {"field1" : ["value1", "value1.5"]}},
{"match" : {"field2" : ["value2", "value2.5"]}},
{"match" : {"field3" : ["value3", "value3.5"]}},
{"match" : {"field4" : ["value4", "value4.5"]}}
]
}
}
}
}
Field1-Field4 在弹性搜索中都存储为数组。我需要获取任何查询值与存储数组中的任何值匹配的所有结果。
如果它们之间有任何匹配,我需要返回结果。谁能指出这有什么问题?当我知道他们在那里时,我没有得到任何结果。