给elasticsearch中的文档赋予权重



我有一个文档列表,如下:

[{'term': 'iphone', 'frequency': 10},
{'term': 'ipad', 'frequency': 100}]

我想使用文档的frequency值来提高搜索结果的分数。

例如,如果用户输入'ip',我希望ipad出现在搜索结果的顶部,因为它的frequency值高于iphone

这是否可以实现?

使用function_scorefield_value_factor找到解决方案:

{'query': {
'function_score': {
'query': {
'prefix': {
'term': {
'value': 'ip'
}
}
},
'field_value_factor': {
'field': 'frequency'
}
}
}

最新更新