我想使用一个相当复杂的公式对我的 solr 查询进行排序。我想我可以通过在查询的排序参数中设置正确的函数来让它工作,但我想通过查看每个文档的函数的显式值来检查我的工作。
我想通过将计算值作为一个字段包含在结果中来做到这一点,然后只对该字段进行排序。这是正确的方法吗?如果是这样,我该怎么做,还是有另一种方法?我已经尝试启用调试查询,但我认为它只解释了相关性分数,而不是用于对结果进行排序的值。
在管理仪表板中,我的 solr-spec 和 lucene-spec 都是 4.5.0
使用函数查询。
您可以使用 LocalParams 语法 ie{!func}
或 set defType=func
。(您可能不想使用_val_
钩子,因为您的函数值会成为分数中的一个组成部分。)分数是函数的值,因此您的结果会自动按函数值排序。用 获取分数fl=*,score
。