我对弹性搜索非常陌生,比如说在我的文档中我有字段 A、B、C、D,并且我想在所有字段中搜索单词“test”。
我希望每个字段都有不同的权重(即 A 有 10,B 有 8,C 有 5,D 有 2)。如何编写 es 查询来对我正在搜索的单词执行该查询。
这是一个经典的用例。最简单的方法是使用带有助推器的多重匹配查询。在多重匹配中,将 ^boostvalue 添加到字段名称以对其应用增强
GET test/_search
{
"query": {
"multi_match": {
"query": "test",
"fields": ["A^10", "B^5", "C^2"]
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2060 次 |
| 最近记录: |