地理的な場所の検索は、最新のWebアプリケーションで非常に一般的で実用的な機能であり、ユーザーが近くの企業、アトラクション、その他の場所に関する情報をすばやく見つけるのに役立ちます。この記事では、PHPおよびXunsearchを使用した正確で効率的な地理配置検索を実現する方法を理解するために、段階的に段階的に説明します。
まず、サーバー環境にXunsearchをインストールする必要があります。 Xunsearchの公式チャネルにアクセスして、インストールパッケージの最新バージョンを取得し、公式の指示に従ってインストールとサービスのスタートアップを完了できます。
商人名とその緯度と経度情報を保存する場所と呼ばれるデータベーステーブルがあるとします。次のSQLステートメントを使用して、テーブル構造を作成できます。
テーブルの場所を作成します( id intプライマリキーAuto_increment、 名前varchar(255)nullではありません、 経度はヌルではなく、 緯度はヌルではありません );
サンプルデータは次のように挿入されます。
場所(名前、経度、緯度)値に挿入します ( 'Merchant 1'、121.47856、31.23542)、 ( 'Merchant 2'、121.52142、31.22584)、 ( 'Merchant 3'、121.51993、31.15673)、 ( 'Merchant 4'、121.45218、31.24736)、 ( 'Merchant 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の再構築しますを始める$ index-> beginrebuild();
//データベーステーブルを設定します$ index-> setDB($ xs-> db-> getDb( 'location'));
//インデックスフィールドを意味し、$ index-> setschemeを入力します(新しいしいxsfieldscheme([)
'name' => '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->検索;
//ファジー検索$ search-> setFuzzy(true)を設定します。
//検索クエリ$ search-> setQuery( "経度:$経度と緯度:$ latitude");
// search $ result = $ search-> search();を実行します。
//出力結果foreach($ result as $ item){
echo $ item-> name。 '<br> ';
}
?>次のURLにアクセスして、ジオロケーション検索機能をテストします。
http://yourdomain.com/search.php?longitude=121.50000&latitude=31.200000
このリクエストは、指定された緯度と経度に最も近い商人名のリストを返します。
この記事では、PHPとXunsearchを使用してジオロケーション検索機能を実装する方法を紹介し、インストール構成、データ準備、インデックス構築から検索実装までのプロセス全体をカバーします。これらの手順を習得することにより、Webアプリケーションに効率的かつ正確なジオロケーション検索機能をすばやく追加できます。