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