【问题标题】:Unable to retrieve computed distance in Spatial Solr queries无法在 Spatial Solr 查询中检索计算距离
【发布时间】:2011-03-03 23:45:38
【问题描述】:

我正在使用这个插件来允许spatial queries in Solr。我已按照文档中包含的步骤进行操作,并且空间查询工作正常。

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

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

并且我已将“geodistance”组件添加到标准请求处理程序中:

  <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} cafeteria”之类的查询时,它可以工作,但只是第一次。当我再次运行相同的查询时,出现此错误:

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。

【问题讨论】:

    标签: solr geospatial spatial spatial-query


    【解决方案1】:

    此问题已在 1.0-RC5 版本中修复。此版本已于几天前发布。

    【讨论】:

      猜你喜欢
      • 2015-09-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多