2013-01-18 87 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)

相关问题