現在の位置: ホーム> 最新記事一覧> PHPはCoreeekを組み合わせて効率的な製品検索機能の詳細を作成します

PHPはCoreeekを組み合わせて効率的な製品検索機能の詳細を作成します

M66 2025-07-10

電子商取引プラットフォームでの製品検索の重要性

最新のeコマース環境では、製品検索は、ユーザーがターゲット製品をすばやく見つけるための重要な機能です。キーワードの検索を通じて、ユーザーは製品を効率的に閲覧およびフィルタリングし、ショッピングエクスペリエンスを向上させることができます。したがって、高速で正確な検索システムを作成することが特に重要です。

Coreeekとその利点の紹介

CoreSeekはSphinxに基づいて開発されており、中国の環境に最適化されたフルテキスト検索エンジンです。中国語の単語セグメンテーションをサポートし、速い応答速度と正確な検索の利点があります。 CoreSeekは、MySQLデータベースからデータをインポートしてインデックス作成を確立し、PHPなどのアプリケーションの統合を容易にする簡潔なクエリインターフェイスを提供します。

Coreeekをインストールして構成します

まず、Coreeekパッケージをダウンロードして、指定されたディレクトリに解凍します。構成ファイルが配置されているディレクトリを入力し、sphinx.conf.distにsphinx.confに名前を変更します。ファイルを開き、実際のニーズに応じてインデックスパスとその他の構成アイテムを検索します。保存後、端末のCoresekインストールディレクトリに切り替えて実行します。

 ./bin/searchd

検索サービスを開始し、サービスが正常に動作していることを確認します。

製品データとインデックスのインポートを準備します

MySQLがインストールされていることを確認し、製品データを保存するためのデータベースとテーブルを作成してください。例えば:

存在するしない場合はデータベースを作成します。

テーブル製品を作成してください。
  id intプライマリキーAuto_increment、
  名前varchar(100)nullではない、
  説明テキスト、
  価格小数(10、2)、
  category_id int
);

サンプル製品データを挿入します:

製品を挿入してください。
値
  ( '製品1'、 'これは製品1'、19.99、1の説明です)、
  ( 'Product 2'、 'これは製品2'、29.99、2の説明です)、
  ( '製品3'、 'これは製品3'の説明、39.99、1)、
  ( '製品4'、 'これは製品4'の説明、49.99、2);

データ準備を完了したら、インデックスインポートコマンドを実行します。

 ./bin/indexer  -  all  -  config/path/to/sphinx.conf

データベースから製品データをCoreeekインデックスにインポートします。

PHPを使用して製品検索機能を実装します

検索機能のコアコードを実装するための検索.phpファイルを作成します。

<?php
require('path/to/sphinxapi.php');

// 検索キーワードを得るします
$keyword = $_GET['q'];

// インスタンス化Sphinxクライアント
$sphinx = new SphinxClient();

// 設定Sphinxサーバー接続
$sphinx-> SetServer( &#39;LocalHost&#39;、9312);

//検索$ result = $ sphinx-> query($ keyword、 &#39;product_index&#39;);

//検索結果をプロセスif($ result){
    if($ result [&#39;total&#39;]> 0){
        echo "{$ result [&#39;total&#39;]}に検索された結果:<br> ";
        foreach($ result [&#39;matches&#39;] as $ mate){
            $ product = getProductbyId($ match [&#39;id&#39;]); // id echo "製品名にベースづいて製品情報を得るする:{$ product [&#39;name&#39;]}<br> ";
            echo "製品説明:{$ product [&#39;description&#39;]}<br> ";
            Echo "製品価格:{$ Product [&#39;Price&#39;]}<br><br> ";
        }
    } それ以外 {
        エコー「結果は見つかりません」。
    }
} それ以外 {
    echo $ sphinx-> getLasterror();
}

//製品ID関数にベースづいてデータベースから製品情報を得るしますgetProductByID($ id){
    $ conn = new mysqli( &#39;localhost&#39;、 &#39;username&#39;、 &#39;password&#39;、 &#39;products&#39;);
    $ sql = "select * from product where id = $ id";
    $ result = $ conn-> query($ sql);
    if($ result-> num_rows> 0){
        $ result-> fetch_assoc();を戻るします。
    } それ以外 {
        nullを戻るします。
    }
}
?>

上記のコードは、データベース情報に基づいてCOREEKEEKを介して製品インデックスを照会し、詳細な製品コンテンツを出力する方法を示しています。実際のデータベース構成に従って、接続パラメーターを調整してください。

検索機能をテストします

ブラウザにアクセスしてください:
http://yourdomain.com/search.php?q = replace yourdomain.comはサーバーアドレスとして、キーワードは取得するコンテンツです。構成が正しく、インデックスが更新されている場合、対応する検索結果が表示されます。

要約します

PHPとCoreeekの組み合わせにより、レスポンシブで正確な製品検索システムを構築できます。合理的なデータベース設計とインデックス管理により、検索効率と結果の正確性が保証され、eコマースプラットフォームユーザーにより良いエクスペリエンスがもたらされます。このガイドが、迅速かつ効率的な製品検索機能に役立つことを願っています。