2012-09-21 5 views
5

Solr에 대한 스키마를 개발하기 위해 제 3 자 코더를 지불했지만 이제는 더 많은 것을 알고 자신에게 질문이 있습니다.Solr에 좌표를 저장하는 올바른 방법

<field name="latlng" type="location" indexed="true" stored="false" /> 
<field name="latlng_0_coordinate" type="double" indexed="true" stored="false" /> 
<field name="latlng_1_coordinate" type="double" indexed="true" stored="false" /> 

내 사이트가 JSON을 통해 제출 lat_lng_0_coordinate 및 latlng_1_coordinate 것이 아니라 아무것도를 위도와 경도를 위해 제출되지 도착 : 내 스키마에 나는이 그래서

목적은 공간적 검색을하는 것입니다.

또한 schema.xml에는 "latlng"에 대한 언급이 없으므로 여기서 볼 수있는 한 결합 또는 결합 기능이 없습니다.

내 질문은 latlng이 목적을 갖고 있는지 또는 코더가 잘못 입력했는지 여부입니다.

답변

5

latlng 필드 유형이 위치로 정의됩니다. 위치 필드의 정의는 다음과 같습니다.

접미사가 _coordinate 인 동적 필드를 만들어야합니다.

예에서 경도 필드에는 latlng_0_coordinate을 사용해야하고 경도 필드에는 latlng_1_coordinate을 사용해야합니다.

그런 다음 공간 쿼리를 사용하여 latlng 필드를 사용할 수 있습니다.

예를 들어 주어진 지점에서 5km 이내에 가장 가까운 위치를 찾으려면 다음 쿼리를 사용할 수 있습니다. 41.431, 28.431은 내가 쓴 임의의 위치입니다.

{!geofilt sfield=latlng}&pt=41.431,28.431&d=5 

결과적으로 오류가 아니며, 목적을 위해 존재합니다.

는 SOLR의 문서에서 참조 : https://wiki.apache.org/solr/SpatialSearch#QuickStart

+0

최고의 당신에게 그것을 km에있을 것입니다 D에 해당 매개 변수 값을 언급 parvin, @ –

+0

감사합니다 ?? 나는 그것을 몇 군데에 읽었다. – NamingException

관련 문제