지리적 위치 검색은 최신 웹 애플리케이션에서 매우 일반적이고 실용적인 기능으로, 사용자가 인근 비즈니스, 관광 명소 또는 기타 장소에 대한 정보를 신속하게 찾을 수 있도록 도와줍니다. 이 기사를 사용하면 PHP 및 Xunsearch를 사용하여 정확하고 효율적인 지리적 위치 검색을 달성하는 방법을 이해하기 위해 단계별로 진행됩니다.
먼저 서버 환경에 xunsearch를 설치해야합니다. Xunsearch의 공식 채널에 액세스하여 최신 버전의 설치 패키지를 얻고 공식 지침에 따라 설치 및 서비스 시작을 완료 할 수 있습니다.
가맹점 이름과 위도 및 경도 정보를 저장하는 위치 라는 데이터베이스 테이블이 있다고 가정합니다. 다음 SQL 문을 사용하여 테이블 구조를 만들 수 있습니다.
테이블 위치 생성 ( ID int 기본 키 auto_increment, Varchar (255) 이름은 null, 경도 더블 널 null, Latitude Double Not Null );
샘플 데이터는 다음과 같이 삽입됩니다.
위치 (이름, 경도, 위도) 값에 삽입하십시오 ( '상인 1', 121.47856, 31.23542), ( '상인 2', 121.52142, 31.22584), ( '상인 3', 121.51993, 31.15673), ( '상인 4', 121.45218, 31.24736), ( '상인 5', 121.52306, 31.19175);
Xunsearch에서 제공하는 PHP SDK를 통해 인덱스를 생성하고 검색 할 필드를 지정하십시오. 예는 다음과 같습니다.
<?php // 소개Xunsearch라이브러리 파일 require_once '/path/to/xunsearch/sdk/php/lib/XS.php'; // 만들다Xunsearch물체 $xs = new XS('location'); // 获取索引물체 $index = $xs-> 색인; // 인덱스 재건 시작 $ index-> beginRebuild (); // 데이터베이스 설정 테이블 $ index-> setdb ($ xs-> db-> getdb ( 'location')); // 인덱스 필드와 $ index-> setScheme을 정의합니다 (new xsfieldscheme ( '이름'=> 'string', '경도'=> '숫자', '위도'=> '숫자' ])); // 엔드 인덱스 재구성 $ index-> endRebuild (); ?>
PHP 스크립트를 작성하고, 사용자가 전달한 위도 및 경도 매개 변수를 받고, Xunsearch의 검색 기능을 통해 쿼리를 실행하고 인근 판매자 목록으로 돌아갑니다. 예는 다음과 같습니다.
<?php // 소개Xunsearch라이브러리 파일 require_once '/path/to/xunsearch/sdk/php/lib/XS.php'; // 경도 및 위도 매개 변수를 얻으십시오 $longitude = $_GET['longitude']; $latitude = $_GET['latitude']; // 만들다Xunsearch물체 $xs = new XS('location'); // 获取搜索물체 $search = $xs-> 찾다; // fuzzy search set $ search-> setfuzzy (true); // 검색 쿼리 설정 $ 검색-> setQuery ( "경도 : $ 경도 및 위도 : $ latitude"); // 검색 실행 $ result = $ search-> search (); // output result foreach ($ result as $ item) { echo $ item-> 이름. '<br> ';; } ?>
지리적 위치 검색 기능을 테스트하려면 다음 URL을 방문하십시오.
http://yourdomain.com/search.php?longitude=121.50000&latitude=31.200000
이 요청은 지정된 위도 및 경도에 가장 가까운 판매자 이름 목록을 반환합니다.
이 기사에서는 PHP 및 Xunsearch를 사용하여 설치 구성, 데이터 준비, 인덱스 구성에 대한 전체 프로세스를 다루는 지리적 위치 검색 기능을 구현하는 방법을 소개합니다. 이러한 단계를 마스터하면 웹 응용 프로그램에 효율적이고 정확한 지리적 위치 검색 기능을 빠르게 추가 할 수 있습니다.