ホームページ >バックエンド開発 >PHPチュートリアル >PHPとXunsearchを利用して検索キーワードの自動補完機能を実装する

PHPとXunsearchを利用して検索キーワードの自動補完機能を実装する

王林
王林オリジナル
2023-07-29 17:53:071308ブラウズ

PHP と Xunsearch を使用して検索キーワードの自動補完機能を実現します

自動補完機能は、ユーザーが検索キーワードを入力すると、既存のデータに基づいてプロンプトや補足を表示し、検索の精度を向上させます。性別とユーザーエクスペリエンス。 PHP 開発では、Xunsearch 検索エンジン ライブラリを利用してこの機能を実現できます。この記事では、PHPとXunsearchを使って検索キーワードの自動補完機能を実装する方法を紹介します。

まず、Xunsearch 検索エンジン サービスを構築する必要があります。 Xunsearch の公式ドキュメントで提供されるインストール パッケージとチュートリアルを使用して、セットアップを完了できます。構築完了後、Xunsearchが提供するSDKを使用して検索エンジンサービスに接続する必要があります。

PHP では、Xunsearch が提供するクラスを使用して検索操作を実行できます。以下は簡単なサンプル コードです。

<?php
require_once('/path/to/xunsearch/lib/XS.php');

$xs = new XS('demo'); // 创建一个XS实例,参数为项目名称

$search = $xs->search; // 获取搜索对象

$word = $_GET['keyword']; // 获取用户输入的关键词

$search->setLimit(10); // 设置需要返回的搜索结果数量

$query = new XSTokenizerScws($word); // 创建一个分词器

$search->setQuery($query); // 设置搜索关键词

$search->setFuzzy(true); // 设置模糊搜索

$docs = $search->search(); // 执行搜索操作

$result = array();
foreach ($docs as $doc) {
    $result[] = $doc->title; //将搜索结果的标题添加到结果数组中
}

echo json_encode($result); // 将结果数组转换为JSON格式并返回给前端

上記のコードは、ユーザーが入力したキーワードに基づいてあいまい検索を実装し、検索結果のタイトルを返します。このうち、 $xs->search は検索オブジェクトを取得し、 $search->setQuery($query) は検索キーワードを設定し、 $search-> setFuzzy (true) はあいまい検索を有効にし、$search->search() は検索操作を実行します。

オートコンプリート機能を有効にするには、リアルタイムの検索を実行し、ユーザーが入力ボックスに入力したときにプロンプ​​トを表示する必要があります。これは、AJAX テクノロジーを使用して実現できます。以下は、簡単なフロントエンド コードの例です。

<!DOCTYPE html>
<html>
<head>
    <title>搜索关键词自动补全</title>
    <script src="https://cdn.staticfile.org/jquery/3.6.0/jquery.min.js"></script>
</head>
<body>
    <input type="text" id="keyword" placeholder="请输入关键词">
    <ul id="result"></ul>

    <script>
        $(function() {
            $("#keyword").on('input', function() {
                var keyword = $(this).val();
                $.ajax({
                    url: "search.php",
                    type: "GET",
                    data: { keyword: keyword },
                    success: function(response) {
                        var result = JSON.parse(response);
                        var html = "";
                        for (var i = 0; i < result.length; i++) {
                            html += "<li>" + result[i] + "</li>";
                        }
                        $("#result").html(html);
                    }
                });
            });
        });
    </script>
</body>
</html>

上記のフロントエンド コードは、入力ボックスの input イベントをリッスンすることによって、リアルタイム検索とプロンプトを実装します。ユーザー入力が変更されるたびに、GET リクエストがバックエンドの search.php に送信され、ユーザーが入力したキーワードがパラメーターとして渡されます。バックエンドによって返された結果は、25edfb22a4f469ecb59f1190150159c6 要素を動的に生成することによってページに表示されます。

まとめると、PHP と Xunsearch を使用して検索キーワードの自動補完機能を実現するのはそれほど複雑ではありません。 Xunsearch 検索エンジンを構成し、対応する PHP コードとフロントエンド コードを記述することで、シンプルかつ効率的な検索完了機能を実装して、ユーザー検索の精度とエクスペリエンスを向上させることができます。

以上がPHPとXunsearchを利用して検索キーワードの自動補完機能を実装するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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