使用 searchkick 返回分数

returning the score with searchkick

我正在使用 SearchKick 和弹性搜索,并且正在尝试 return 分数。例如,如果我进行这样的搜索:

Profile.search("NYC").first

我将取回与该搜索匹配的最高分记录。我还想 return 每条记录的分数。我知道我可以获取 searchkick 响应并对其进行解析,但是是否有更快的方法将分数合并到 returned 的记录中?

要获得具有相应分数的所有配置文件,请执行以下操作:

results = Profile.search("NYC")
results_with_scores = results.zip(results.hits.map{ |hit| hit["_score"] })

现在 results_with_scores 的每个元素都将采用以下形式:

 `[Profile_object, corresponding_score]`

使用 SearchKick v2.0.1 或更高版本,您可以:

Profile.search("NYC").first.search_hit['_score']