我需要对返回的文档按照文档中int字段的(降序)score和(降序)value进行排序。我如何确保正确的排序顺序以及良好的性能?
我不需要sort=score desc,intField desc
定义的排序顺序。排序顺序需要有点像使用score
* fieldVal
的乘积函数作为排序顺序的有效得分。但我不需要精确的乘积来排序。近似值是可以的,这只是粗略地定义我需要的排序顺序。
我可以看到几种可能的方法来实现这一点:
1.使用sort
的自定义评分功能
2.使用查询时间提升来提高分数,使用int字段值进行提升
我是Solr的新手,不了解上述每种情况对性能的影响。而且,不知道是否有其他更好的方法来完成我正在尝试做的事情。那么,我如何构建性能友好的查询来实现这种排序顺序呢?
1条答案
按热度按时间ldfqzlk81#
看一看solr函数查询
https://lucene.apache.org/solr/guide/6_6/function-queries.html#FunctionQueries-SortByFunction
示例:&sort=产品(分数,字段值)