基于公式Calculation Solr排序

时间:2016-06-03 05:55:02

标签: sorting solr solr4

我需要根据以下公式和desc

对solr结果进行排序
round (1000 * (1 - exp (-((( 1 * No. of Likes + 5 × No. of Comments + 10 × No. of Shares) ×  10000 ) / (fans_count ^ 0.8)) / 1000))

我在sort param中使用了以下表达:

rint(product(1000,sub(1,exp(-div(div(product(sum(product(1,likes_count),product(5,comments_count),product(10,shares_count)),10000),pow(fans_count,0.8)), 1000)))))

但是它引发了错误:

Can't determine a Sort Order (asc or desc) in sort spec .............., pos=152"

我无法解决此错误。帮助请

1 个答案:

答案 0 :(得分:0)

当我将表达式更改为:

时,它有效
rint(product(1000,sub(1,exp(product(div(div(product(sum(product(1,likes_count),product(5,comments_count),product(10,shares_count)),10000),pow(fans_count,0.8)),1000),-1)))))

之前我将其设置为-(x)以进行否定。但是在我改变product(x,-1)之后,它很有魅力。