假设我有3个文档: A,B,C 所有术语都非常相似,内部分数也完全相同 人们搜索B的频率高于A和C,但是搜索C的频率高于A。 我可以像B,C,A一样获得分数吗?
答案 0 :(得分:1)
在您描述的用例中,您无法更改评分/相关性计算的行为。使用时,boosting有可能匹配查询以影响搜索值时的得分。但这不合适,因为您只想对文档进行排序。
因此,有关搜索频率的信息必须是文档本身的一部分,这意味着它必须是一个自己的字段。然后,您可以像下面这样简单地添加一个排序子句
{
"query": {
// your awesome query...
},
"sort": [
{
"search_frequency": {
"order": "desc"
}
},
"_score"
]
}
此解决方案中的挑战将使字段 search_frequency 的值保持最新。您可以通过Update API来做到这一点。