2

我想Time/Distance^2在 solr 中实现。例如:

用户位置是: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
4

1 回答 1

2

您可以使用函数查询。请参阅函数查询

您可以按功能订购。使用函数 div 和 pow。

sort=div(Time/pow(Distance,2)) asc

或者

sort=div(Time/pow(Distance,2)) desc

您可以将该函数添加到字段列表以调试该函数:

fl=*,div(Time,pow(Distance,2))
于 2015-10-31T18:05:50.220 回答