我怎样才能在solr中按实时分数排序?

时间:2015-06-18 02:57:49

标签: solr

现在我有一个solr集合:问题

问题有一些领域:

id
answer_count
created_at
updated_at

现在我有了排序规则:

score = answer_count * 100 - (the hours now to created_at) * 5

然后我需要按照得分desc排序。

我怎么能这样做,因为分数是实时的?

1 个答案:

答案 0 :(得分:1)

这方面的关键是函数查询。假设你使用EDisMaxQP,你可以用这个值指定一个boost函数(bf):

sub(product(answer_count,100),product(div(ms(NOW,created_at),3600000),5))

然而,一个函数查询会影响得分,但它看起来好像你根本不需要任何得分而是一个固定的排序顺序,所以我想这是一个使用它的情况作为sort的值:

sub(product(answer_count,100),product(div(ms(NOW,created_at),3600000),5)) desc

当然,提升新文件is in the FAQ,您可以自己找到这个。