지오 검색

모델에 지오포인트 필드를 두면 어떤 레코드가 한 지점에서 가장 가까운지 거리순으로 물어볼 수 있습니다. 쿼리는 점과 반경으로 동작합니다.

지오포인트 필드

지오포인트 필드는 위도와 경도를 담으며, 콘솔에서는 지도 선택기로 편집합니다. 모델은 여러 개를 가질 수 있고, 각각 이름이 따로 붙은 점입니다. 점은 레코드 쓰기와 같은 트랜잭션에서 인덱싱되므로, 레코드는 저장되는 즉시 위치로 찾을 수 있습니다.

점 또는 레코드에 가장 가까운 항목

searchByLocation은 위도와 경도를 받아 그 지점 근처의 레코드를 반환합니다. findNearbyRecords는 레코드를 받아 그 레코드를 제외하고 가장 가까운 레코드를 반환합니다. 둘 다 하나의 모델로 좁힐 수 있습니다. 결과는 가까운 순서로 나오며, 각 결과에는 미터 단위 거리와 함께 레코드의 id, 모델 키, 자연 키, 콘텐츠가 담깁니다.

반경과 페이지 나누기

반경은 선택 사항입니다. 반경을 주면 그 거리까지만 결과가 나옵니다. 주지 않으면 거리와 상관없이 가장 가까운 레코드를 반환합니다. 결과는 커서 기반이며 앞으로만 넘길 수 있고, 기본값은 한 페이지에 50개입니다. -90에서 90 범위를 벗어난 위도나 -180에서 180 범위를 벗어난 경도는 거부됩니다.

액세스 규칙과 기존 레코드

쿼리는 호출자의 행 수준 액세스 규칙에 따라 실행됩니다. 이미 레코드가 있는 모델에 지오포인트 필드를 추가해도 기존 행은 인덱싱되지 않습니다. foir geometry에는 인덱스에 없는 레코드를 나열하고 채워 넣는 명령이 있습니다.

점과 반경만 지원

영역, 선, 바운딩 박스는 지원되지 않습니다.

자세히 보기

CLI 레퍼런스는 지오메트리 명령을 설명합니다. 한 점 근처 검색, 다른 레코드에 가장 가까운 레코드 찾기, 아직 인덱싱되지 않은 레코드 채우기입니다.