Получить расстояние от поля геохеш в solr 3.6

Можно ли получить расстояние, возвращаемое фильтром geodist(), для поля геохэша, которое имеет несколько значений?

Geosort и фильтр geodist работают нормально, но я пытаюсь получить расстояние между точкой запроса и местоположением, которое было возвращено в результате.

Я пробовал http://wiki.apache.org/solr/SpatialSearch#Returning_the_distance. Второй метод: //localhost:8983/solr/select?indent=true&fl=name,store&sfield=store&pt=45.15,-93.85&sort=score%20asc&q={!func}geodist()

Но он возвращает странные результаты, проверенные с двумя местоположениями, он возвращает оценку 9979,032, где на самом деле между обеими точками ~ 33 000 км?

Какую единицу он использует, возвращая расстояние в поле счета? Я предположил км, но это не имеет смысла, или результат фиктивный, я не знаю

Любая помощь будет оценена, спасибо


person Omar S.    schedule 20.09.2012    source источник


Ответы (1)


Solr 3 не поддерживает многозначные геопространственные поля. И вы должны игнорировать тип поля «GeoHash», в частности; кстати, он был удален из примера схемы в Solr 4. Для получения многозначных геопространственных полей (включая сортировку) в Solr 3 необходимо использовать плагин SOLR-2155, который я разработал. Solr 4 имеет пространственное поле, основанное на этой технологии.

person David Smiley    schedule 20.09.2012
comment
Я им уже пользуюсь, гениальный плагин, но что плохого в удалении от результата. Спасибо за такой отличный плагин - person Omar S.; 21.09.2012
comment
О, вы уже используете его; пожалуйста. Но, судя по вашим результатам, может быть ошибка. Должно быть км. Если результаты сомнительны, просто посчитайте сами. Поищите в Интернете пример кода формулы Хаверсина на выбранном вами языке, и вы обязательно его найдете — это не более 10 строк. - person David Smiley; 22.09.2012
comment
Это почти то же самое, что и результаты формулы Хаверсина, я сравнивал разные пары на близком расстоянии ‹ 1 км. - person Omar S.; 23.09.2012