2012-09-20 70 views
1

是否有可能從具有多個值的geohash字段獲取從geodist()過濾器返回的距離?獲取與geohash字段的距離3.6

geosort和geodist過濾器工作正常,但我試圖獲得查詢點和結果中返回的位置之間的距離。

我已經試過http://wiki.apache.org/solr/SpatialSearch#Returning_the_distance 這是第二種方法: //本地主機:8983/Solr的/選擇縮進=真& FL =名稱,商店&元數=店& PT = 45.15,-93.85 &排序=得分%20asc & q = {!func}地理主義者()

但它返回奇怪的結果,測試2個位置它返回得分9979.032,其中有兩點之間約33,000公里真實?

它使用什麼單位在分數字段中返回距離?我認爲公里,但它沒有意義,或結果被假的,我不知道

Anyhelp將不勝感激,謝謝

回答

2

Solr的3不支持多值的地理空間領域。你應該特別忽略「GeoHash」字段類型;順便說一下,它已經從Solr 4中的示例模式中刪除。要在Solr 3中獲得多值地理空間字段(包括排序),您需要使用我開發的插件SOLR-2155。 Solr 4具有基於該技術的空間場。

+0

我已經使用它了,它是一個很棒的插件,但是從結果中獲得距離有什麼問題。謝謝你這麼棒的插件 –

+0

哦,你已經在使用它了;別客氣。但根據你的結果,似乎可能有一個錯誤。它應該是知識管理。如果結果有問題,那麼只需自己計算一下。在網上查找您所選語言的Haversine公式代碼示例,您一定能找到它 - 最多隻有10行。 –

+0

它幾乎與Haversine公式結果相同,我比較了近距離<1公里的各種對。 –