2012-09-20 5 views
1

여러 값을 가진 geohash 필드에서 geodist() 필터로부터 반환 된 거리를 얻을 수 있습니까?solh의 geohash 필드에서 거리 가져 오기

geosort 및 geodist 필터가 정상적으로 작동하지만 쿼리 포인트와 결과에서 반환 된 위치 사이의 거리를 가져 오려고합니다.

내가 해봤입니다 http://wiki.apache.org/solr/SpatialSearch#Returning_the_distance 두 번째 방법 : // localhost를 : 8983/SOLR/선택 들여 쓰기 = 사실 & FL = 이름, 저장 & sfield = 저장 & PT = 45.15, -93.85 & 종류 = 점수 % 20asc q = {! func} geodist()

그러나 2 개의 위치에서 테스트 한 결과는 9979.032이고 실제 두 지점 사이에 약 33,000 Km가 반환됩니까?

스코어 필드에서 거리를 반환하는 데 사용하는 단위는 무엇입니까? 나는 km를 가정하지만, 이해가되지 않거나, 결과는 내가

Anyhelp가, 감사

답변

2

SOLR 3 다중 값 지리 필드를 지원하지 않습니다 주시면 감사하겠습니다 가짜 몰라한다. 특히 "GeoHash"필드 유형은 무시해야합니다. 그건 그렇고, Solr 4의 예제 스키마에서 제거되었습니다. Solr 3에서 다중 값 지리 공간 필드 (정렬 포함)를 얻으려면 내가 개발 한 SOLR-2155 플러그인을 사용해야합니다. Solr 4는이 기술을 기반으로하는 공간적인 영역을 가지고 있습니다.

+0

나는 그것을 이미 사용하고 있는데, 그것은 화려한 플러그인이지만 결과로부터 거리를 얻는 것이 잘못된 것입니다. 위대한 플러그인을 주셔서 감사합니다 –

+0

오, 이미 사용하고 있습니다. 천만에요. 하지만 결과에 따라 버그가있는 것 같습니다. KM이어야합니다. 결과가 의심스러운 경우 직접 계산하십시오. 웹에서 Haversine 수식의 코드 샘플을 원하는 언어로 선택하면 확실히 찾을 수 있습니다. 최대 10 줄입니다. –

+0

Haversine 수식 결과와 거의 동일하므로 1km 미만의 거리에서 다양한 쌍을 비교했습니다. –

관련 문제