如何将搜索结果的分数四舍五入到小数点后两位?
我可以使用四舍五入的分数进行排序吗?
我需要一些类似的想法:
/?q=term&sort=round(score, 2) desc, orders desc
在 Solr 版本 4.2 中
我想按字段订单对搜索结果进行排序,但我首先得到的不是相关结果。我得到了几千个结果。因此,我想在现场订单和分数之间做出妥协。
最佳答案
函数查询需要索引字段,而 score
不是真正的字段,因此您无法使用它。但我喜欢 femtoRgon 的方法。这是另一个版本
您可以将 rint()/product() 与 query() 结合使用
q=rint(product(query({!v="author:alice"}) ,100))&defType=func&fl=*,score&sort=score desc, author desc
用您的查询替换author:alice。我不确定性能影响是什么,因为它运行子查询。你必须检查一下。
关于sorting - 四舍五入到小数点后两位 - SOLR 4.2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16044413/