我想做一个Elasticsearch查询,其中我想做一个OR过滤器
想象我有这种文件
[ {name : "John Doe"}, {name :"Jane Doe"}, {name:"Steve Doe"} ]
使用此SQL查询执行相同操作的查询
SELECT * from table WHERE name LIKE 'Ja%' OR name LIKE 'Jo%'
现在我正在使用elasticsearch的match_phrase_prefix作为LIKE,但我完全坚持使用OR。
由于
答案 0 :(得分:2)
您可以使用bool should
查询来实施OR
操作。实际上,您可以使用prefix
查询代替match_phrase_prefix
查询您所描述的内容。无论如何,如果您仍然找到match_phrase_prefix
查询的用例,只需使用prefix
查询替换下面请求中的match_phrase_prefix
查询。
{
"query": {
"bool": {
"should": [
{
"prefix": {
"name": {
"value": "ja"
}
}
},
{
"prefix": {
"name": {
"value": "jo"
}
}
}
]
}
}
}