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

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

王林
リリース: 2023-07-29 17:56:02
オリジナル
1436 人が閲覧しました

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

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

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

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

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

<?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 テクノロジーを使用して実現できます。以下は、簡単なフロントエンド コードの例です。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

<!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 に送信され、ユーザーが入力したキーワードがパラメーターとして渡されます。バックエンドによって返された結果は、<li> 要素を動的に生成することによってページに表示されます。

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

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

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート