我是AWS cloudsearch的新手,有相关性得分(_score),它是根据搜索词出现次数自动计算的。
我的问题是,我可以根据具体的关键值按特定金额增加相关性得分(_score)。
示例:
让我们说cloudsearch返回以下两个文件
fields: {
{
fullname: "Daniel Wildt",
active: "T",
_score: "82"
}
{
fullname: "Robert",
active: "F",
_score: "84"
}
}
我希望第一个文件(Daniel Wildt)更高......这意味着通过 active = T aws应该为分数添加一些内容
答案 0 :(得分:0)
不幸的是,您无法直接使用自定义rank
,因为它仅适用于已启用排序的数字字段(int,double,date)。
以下是几个替代选项
active
字段给予很大的权重,它将变得足够主导,在功能上等同于sort
运算符。也就是说,您只需在查询中添加sort=active desc
即可在F &expr.myrank=_score+active&sort=myrank
active:'T'
添加到您的查询中,这可能会排除active = F的结果,然后使用字段权重来调整此部分查询的影响:{ {1}}。这将需要一些调整