我想在 solr 中实现Time/Distance^2
。例如:
用户所在地为:BTM
问题1:发布于 5 小时前。距我所在地的距离为 2 公里:5/4=1.25
问题2于 2 小时前发布。距我所在地的距离为 4 公里:2/16=0.125
问题3于 4 小时前发布。距我所在地的距离为 3 公里:4/9:0.44
现在,当我触发 solr 查询时,结果应根据 T/D^2
公式按以下顺序出现:
question1 then question3 and question1
最佳答案
您可以使用函数查询。请参阅FunctionQuery
您可以通过函数来订购。 使用函数 div 和 pow。
sort=div(Time/pow(Distance,2)) asc
或
sort=div(Time/pow(Distance,2)) desc
您可以将函数添加到字段列表中以调试该函数:
fl=*,div(Time,pow(Distance,2))
关于solr - 如何在solr中实现时间/(距离)^2?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33450838/