2

我正在使用带有弹性搜索的SearchKick,并试图返回分数。例如,如果我进行了这样的搜索:

Profile.search("NYC").first

我将取回与该搜索匹配的最高分数的记录。我还想返回每条记录的分数。我知道我可以抓取 searchkick 响应并解析它,但是有没有更快的方法将分数合并到返回的记录中?

4

2 回答 2

3

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

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

现在每个元素results_with_scores的形式如下:

 `[Profile_object, corresponding_score]`
于 2015-11-14T01:39:46.127 回答
3

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

Profile.search("NYC").first.search_hit['_score']
于 2017-05-17T07:28:21.417 回答