2013-01-18 125 views

回答

7

根據參考Spatial Search - Returning the distance您可以編輯的字段參數,請執行下列操作之一:

  • &fl=*,score,geodist()
  • &fl=*,score,_dist_:geodist() - 這一次將返回別名_dist_
+3

它返回以下錯誤:'錯誤解析fieldname:geodist - 沒有足夠的參數:[]' – andrexus

+0

這裏是'geodist()'函數的參考http://wiki.apache.org/solr/ SpatialSearch#geodist _-_ The_distance_function –

+0

'ValueSource不能直接從此字段中獲得。 ' – andrexus

4

的距離佩奇給出的答案是正確的。但是,錯誤顯示取決於給定的查詢。

Error parsing fieldname: geodist - not enough parameters:[]

geodist需要sfield(場保持在文檔中的位置)與pt(圓的中心點)。如果它找不到任何這些,它會拋出顯示的錯誤。

無論是添加這兩個到URL

&pt=52.373,4.899&sfield=store&fl=_dist_:geodist() 

或添加兩個(或實際上是3:ptlatlon)到geodist()函數調用:

&fl:_dist_:geodist(store,52.373,4.899) 

注意的是,在第一種情況,如果您的查詢中有其他地理功能(如geofilt),則也使用ptsfield(除非本地覆蓋den)

相關問題