1

我需要按文档中 int 字段的(降序)分数和(降序)值的顺序对返回的文档进行排序。如何确保正确的排序顺序以及良好的性能?

我不需要由sort=score desc,intField desc. 排序顺序需要有点像使用score*的乘积函数fieldVal作为排序顺序的有效分数来传递的内容。但我不需要精确的产品进行分类。近似值是可以的,这只是粗略地定义我需要的排序顺序。

我可以看到一些可能的方法来实现这一点:

1.使用自定义的评分功能sort

2.使用查询时间boost来提高分数使用int字段值进行boost

我是 Solr 的新手,不了解上述每种情况的性能影响。另外,不知道是否还有其他更好的方法来完成我想做的事情。那么如何构建性能友好的查询来实现这种排序顺序呢?

4

1 回答 1

2

看看 solr 函数查询

https://lucene.apache.org/solr/guide/6_6/function-queries.html#FunctionQueries-SortByFunction

示例:&sort=product(score, fieldVal)

于 2013-10-05T10:19:23.167 回答