Solr排序问题:如何将bf计算的score与popularity字段相乘后排序?
解决方法
- 问题出在排序规则的语法格式上,Solr无法直接识别你写的
mul(score, popularity) desc这种形式的排序指令。 - 改用数组形式定义排序规则,把函数排序表达式作为单独元素传入:
"sort": [ "mul(score, popularity) desc" ]
- 如果是通过URL参数传递排序规则,需要用
{!func}包裹函数部分:
sort={!func}mul(score,popularity) desc
- 另外检查下实际字段名是否和错误提示里的
popularity_v2.fr一致,确保字段名(包括可能的多语言后缀)拼写完全正确,字段不匹配也会触发这类解析错误。
内容的提问来源于stack exchange,提问作者user3718371
相关产品推荐
相关产品推荐

