我对弹性搜索很陌生,比如说在我的文档中,我有字段A、B、C、D,我想搜索单词"测试";在所有领域。
我希望每个字段都有不同的权重,(即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"]
}
}
}