2010-06-15 67 views
3

我正在使用此插件允许spatial queries in Solr。我遵循了文档中包含的步骤,并且我的空间查询工作正常。无法检索Spatial Solr查询中的计算距离

现在我想检索计算出的距离。我加在solrconfig.xml中的文件这些行:

<searchComponent name="geodistance" class="nl.jteam.search.solrext.spatial.GeoDistanceComponent"> 
    <defaults> 
     <str name="distanceField">geo_distance</str> 
    </defaults> 
</searchComponent> 

而且我已经加入了“地表距离”组件的标准请求处理程序:

<requestHandler name="standard" class="solr.SearchHandler" default="true"> 
    <lst name="defaults"> 
     <str name="echoParams">explicit</str> 
    </lst> 
    <arr name="components"> 
     <str>query</str> 
     <str>geodistance</str> 
    </arr> 
    </requestHandler> 

然后,当我运行一个查询,例如“ q = {!spatial lat = 41.641184 long = -0.894032 radius = 2 calc = arc unit = km}自助餐厅“有效,但只有第一次。当我再次运行相同的查询,我得到这个错误:

GRAVE: java.lang.NullPointerException 
    at nl.jteam.search.solrext.spatial.DistanceFieldValueSource.getValues(DistanceFieldValueSource.java:57) 
    at nl.jteam.search.solrext.spatial.GeoDistanceComponent.process(GeoDistanceComponent.java:60) 
    at org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:195) 
    at org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:131) 
    at org.apache.solr.core.SolrCore.execute(SolrCore.java:1316) 

我不知道哪里出了错误,因为第一次查询的工作和我在“geo_distance”字段中计算出的距离。但是当重复查询时,我得到一个NullPointerException。

回答

1

此问题已在版本1.0-RC5中修复。这个版本已经在几天前发布了。