在Solr里面,经常需要根据创建时间来打分。
打分公式有很多种,基本都是根据时间逐渐衰减。我使用的是一个简单有效的公式:1 / (1 + log(1 + (NOW - create_time))) 这里时间取小时
那么这个公式,如何在solr中使用呢?
参考edismax的FunctionQuery: https://wiki.apache.org/solr/FunctionQuery
recip(ln(sum(div(ms(NOW+8HOUR,create_time),3600000),1)),1,1,1)