弹性搜索为单个搜索设置字段权重



我对弹性搜索很陌生,比如说在我的文档中,我有字段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"]
}
}
}

最新更新