sorting - 四舍五入到小数点后两位 - SOLR 4.2

标签 sorting solr lucene full-text-search search-engine

如何将搜索结果的分数四舍五入到小数点后两位?

我可以使用四舍五入的分数进行排序吗?

我需要一些类似的想法:

/?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/

相关文章:

php - MySQL:选择/排序得分上升最快的条目

php - 如何使用 limit 子句对记录进行排序

elasticsearch - Gartner 排除 Elasticsearch 和 apache solr

用于地理空间搜索的 MySQL-Solr

mysql - 对表进行排序,在 MySQL 中使用循环与 SELECT 和 UPDATE

sorting - JCR SQL2 - JCR 浏览器中的结果查询顺序

solr - 如何通过在索引时将数据拆分为多个字段来为分层方面创建 Solr 模式

lucene - 是否有一套从关系数据库构建 Lucene 索引的最佳实践?

zend-framework - Zend Lucene 是否支持多值字段?

elasticsearch - 在ElasticSearch中搜索查询分数详细信息