如何按距离对此Solr查询进行排序?

时间:2017-03-16 11:56:43

标签: search indexing solr lucene

我正在查询这样的结果:

?q=*&wt=json&rows=1000&fq={!geofilt%20pt=36.722484,-4.371908%20sfield=location%20d=50}

这是使用geofilt函数查找给定点50公里内的所有结果。但结果却以奇怪的顺序返回。我想通过接近给定点来升级它们。如何将其添加到上述查询中?

2 个答案:

答案 0 :(得分:1)

我敢打赌您需要应用此处描述的其他排序参数:Spatial Search

所以在你的情况下,它看起来像:

?q=*&wt=json&rows=1000&fq={!geofilt%20pt=36.722484,-4.371908%20sfield=location%20d=50}&sort=geodist()+asc

答案 1 :(得分:0)

如果您获得的值不是字段值,而是计算的结果(即动态生成的值,例如点之间的距离),那么您可以对函数的输出进行排序。看看这个链接:

https://wiki.apache.org/solr/FunctionQuery#Sort_By_Function