ホームページ  >  記事  >  バックエンド開発  >  PHP と Manticore Search を使用した検索履歴機能の開発

PHP と Manticore Search を使用した検索履歴機能の開発

WBOY
WBOYオリジナル
2023-08-05 13:12:31906ブラウズ

PHP と Manticore Search を使用した検索履歴機能の開発

概要:
多くのアプリケーションで、検索履歴機能はユーザーに便利な検索エクスペリエンスを提供します。ユーザーの検索履歴を記録することで、ユーザーは次回検索するときに以前の検索結果をすばやく選択して関連ページにジャンプできます。この記事では、PHP と Manticore Search を使用して検索履歴機能を開発する方法を紹介します。

要件:
開始する前に、PHP と Manticore Search がインストールされ、構成されていることを確認する必要があります。 Manticore Search がインストールされていない場合は、公式ドキュメントを通じてインストールして設定できます。

実装手順:

  1. 検索履歴テーブルの作成
    まず、検索履歴を保存するテーブルを作成する必要があります。 Manticore Search コンソールを開き、次のスキーマを作成します。
index history
{
    source = history
    path = /path/to/your/data/history
    morphology = stem_en
    min_word_len = 1
    html_strip = 1
    stopwords = stopwords_en.txt
    charset_type = utf-8
    enable_star = 1
}

これにより、「history」という名前のインデックスが作成され、検索履歴の保存場所と関連設定が定義されます。

  1. フロントエンド インターフェイスとユーザー入力
    フロントエンドに検索ボックスを作成し、ユーザーが検索キーワードを入力できるようにします。ユーザーが入力したキーワードを、AJAX リクエストを通じてバックエンド PHP スクリプトに送信します。
  2. PHP バックエンド処理
    PHP スクリプトは、ユーザーが入力した検索キーワードを受け取った後、次の操作を実行する必要があります。
    3.1 Manticore Search に接続する
    PHP クライアントを使用するマンティコア検索のライブラリ、マンティコア検索サーバーに接続します。コードは次のとおりです。
require_once 'vendor/autoload.php';
use ManticoresearchClient;
$client = new Client();
$client->connect(['host' => 'localhost', 'port' => 9308]);

実際の状況に応じてホストとポートを変更してください。

3.2 検索履歴
Manticore Search の検索機能を使用して、ユーザーが入力したキーワードに基づいて検索履歴テーブルを検索します。コードは次のとおりです。

$response = $client->search([
    'index' => 'history',
    'query' => [
        'match' => ['keyword' => $keyword]
    ],
    'limit' => 10,
]);

これは、ユーザーが入力したキーワードを含む検索履歴テーブル内のレコードと一致し、最大 10 件の結果を返します。

3.3 検索履歴の保存
次に、ユーザーが入力したキーワードを検索履歴テーブルに保存します。次のようなコードを使用できます。

$client->insert([
    'index' => 'history',
    'doc' => ['keyword' => $keyword]
]);

これにより、ユーザーが入力したキーワードがドキュメントとして検索履歴テーブルに挿入されます。

  1. フロントエンドの検索履歴の表示
    まず、バックエンドから返された検索履歴の結果をJSON形式でフロントエンドに返します。フロントエンドは JavaScript を使用して検索履歴結果を解析し、表示できます。
$.ajax({
    url: 'search_history.php',
    data: { keyword: keyword },
    type: 'POST',
    dataType: 'json',
    success: function(response) {
        // 解析并展示搜索历史记录结果
    }
});

要約すると、PHP と Manticore Search を使用して検索履歴機能を実装することに成功しました。ユーザーはキーワードを入力して検索することができ、検索結果は検索履歴テーブルに保存されます。次回ユーザーが再度検索するときに、以前の検索結果をすぐに選択できます。このようにして、ユーザーは関連情報をより簡単に見つけることができ、ユーザー エクスペリエンスが向上します。

注: コード例は参照のみを目的としており、実際の状況に応じて調整および最適化する必要がある場合があります。必要に応じてさらに開発とテストを行ってください。

以上がPHP と Manticore Search を使用した検索履歴機能の開発の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。