我想完成以下任务(表示为等效的SQL查询)
WHERE field1 LIKE 'FOO%' OR field2 LIKE 'FOO%'
但是说boost
field2(即,如果文档仅是两个字段中的一个),则匹配field2的文档将被提升
如何在Elasticsearch中完成此任务?我无休止地浏览了文档,只是变得越来越困惑
我尝试过:
POST securities/_search
{
"query": {
"bool": {
"minimum_should_match": 1,
"should": [
{
"match_phrase_prefix": {
"field2": "FOO"
}
},
{
"match_phrase_prefix": {
"field2": "FOO"
}
}
]
}
}
}
但是我无法从 bool.should [*]。match_phrase_prefix
我看到可以在 bool 级别上指定一个 boost 属性,但是我不确定该如何应用