CoreSeekは、Sphinxに基づいたオープンソースのフルテキスト検索エンジンであり、効率的なパフォーマンスと強力な検索機能を備えています。中国語の単語セグメンテーション、重量の並べ替え、強調表示をサポートするだけでなく、大規模なデータ検索タスクを効果的に処理できます。 CoreeekはC ++で書かれているため、うまく機能し、PHPは人気のあるスクリプト言語として、Coreeekで簡単に使用できます。
まず、サーバーにCoreeekをインストールする必要があります。特定のインストールプロセスについては、公式ドキュメントを参照してください。インストールが完了したら、Coreeekのメイン構成ファイルを構成する必要があります:Sphinx.conf。これが簡単な構成例です。
ソース製品{ type = mysql sql_host = localhost sql_user = root sql_pass =パスワード sql_db = ecommerce SQL_QUERY = ID、名前、説明、製品からの価格を選択します } index product_index { source = product path =/path/to/index min_word_len = 2 min_prefix_len = 2 enable_star = 1 charset_type = utf-8 } searchd { 匂いく= 9312 匂いく= 9306:mysql41 log = /path/to/log/searchd.log query_log = /path/to/log/query.log pid_file =/path/to/log/searchd.pid }
上記の例では、「製品」と呼ばれるデータソースを定義します。これは、製品データが「ecommerce」という名前のデータベースに保存され、「製品」テーブルから製品情報を取得すると仮定します。同時に、「Product_Index」という名前のインデックスが定義され、インデックスファイルのストレージパスが指定されています。最後に、Coreeekの検索プロセス検索をセットアップしました。
次に、PHPコードのSphinxClientクラスを使用して、CoreSeekを接続および使用します。これが簡単な検索例です。
<?php require_once('sphinxapi.php'); $cl = new SphinxClient(); $cl->SetServer( 'LocalHost'、9312); $ cl-> setMatchMode(sph_match_extended); $ cl-> setLimits(0、20); //戻るされた結果の数を設定します$ keyword = $ _get ['keyword']; //ユーザーが入力した検索キーワードを得る$ res = $ cl-> query($ keyword、 'product_index'); if($ res && $ res ['total_found']> 0){ foreach($ res ['matches'] as $ mate){ $ productId = $ match ['id']; // ProductIDに従ってデータベースから製品情報を得るして急行します} } それ以外 { エコー「関連製品は見つかりません」; } ?>
上記のコードの例では、CORESEEKが提供するPHP拡張ファイル「Sphinxapi.php」を最初に導入しました。次に、SphinxClientオブジェクトを作成し、サーバーアドレスとポートを設定し、マッチングモードをSPH_MATCH_EXTEDEDに設定します(高度なクエリ構文をサポートします)。最後に、クエリメソッドを使用して検索要求を開始し、返された結果に基づいて表示します。
この記事の例を通して、PHPとCoreeekを使用してeコマースプラットフォーム製品検索エンジンを開発する方法を示します。この記事は基本的な機能のみをカバーしていますが、開発者は実際のニーズに応じてより高度な機能を追加できます。このようにして、電子商取引プラットフォームの効率的で正確でユーザーフレンドリーな製品検索エンジンを構築できます。