我開始認爲我想要做的事情是不可能的,但我想我會試試這個。Solr使用dismax時計算距離
我正在運行Solr 3.5。
我目前有兩種類型的搜索:
- 它會返回在得分字段兩點之間的距離計算方法爲基本空間查詢。從我的Solr的日誌
示例查詢:
?fl=*,score&sort=score+asc&start=0&q={!func}geodist()&sfield=coordinates&pt=59.2363514,18.092783&version=2
- 一個dismax查詢,允許對一些領域的自由文本查詢。從Solr的日誌
示例查詢:
mm=1&d=100.0&sfield=coordinates&qf=field1^5.0+fields2^3.0&defType=edismax&version=2&fl=*,score&start=1&q=monkeyhopper&pt=59.2363514,18.0927830000&fq={!geofilt}}
我想用dismax查詢,以取代我第一次查詢,但我真的需要在響應中計算出的距離。是的,我可以通過編程的方式來計算距離,但我不希望Solr已經爲我做了這個。
我仍然希望能夠通過「相關性」,距離或任何其他字段對我的dismax查詢進行排序,因此我的提升給出的分數對於排序可能會很有趣,但我不需要將其返回。
謝謝,鑑於Solr 4現在很穩定,我會接受這個解決方案:) – polythene 2013-08-13 16:53:35