Невозможно получить вычисленное расстояние в запросах Spatial Solr - PullRequest
3 голосов
/ 15 июня 2010

Я использую этот плагин, чтобы разрешить пространственные запросы в 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 = {! Пространственный ширта = 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 голос
/ 24 июня 2010

Эта проблема исправлена ​​в версии 1.0-RC5.Эта версия была выпущена несколько дней назад.

...