PHP およびマンティコア検索開発: プライベート検索エンジンの構築
はじめに:
今日のインターネット時代において、検索エンジンは人々が情報を入手する主な方法の 1 つです。 Google や Baidu などのインターネット大手の検索エンジンは、人々の日常生活に欠かせないツールとなっています。ただし、一部の特定のアプリケーション シナリオでは、パブリック検索エンジンの使用は理想的な選択ではありません。この記事では、PHP と Manticore Search を使用してプライベート検索エンジンを構築する方法と実践を紹介します。
1. Manticore Search について
Manticore Search は、Sphinx 検索エンジンのアーキテクチャを採用し、効率的でスケーラブルな全文検索機能を提供するオープン ソースの全文検索エンジンです。 Manticore Search は、マスター/スレーブ レプリケーション、分散インデックス作成、リアルタイム インデックス作成、マルチインデックス クエリ、全文検索などの機能をサポートしており、大量のデータの処理や同時実行性の高い検索シナリオに適しています。
2. Manticore Search のインストール
まず、Manticore Search をインストールする必要があります。次の手順に従って、Linux 環境にインストールできます。
3. PHP 拡張機能を使用して Manticore Search を操作する
Manticore Search は、検索エンジンと対話するための PHP の使用を容易にする PHP 拡張機能を提供します。 PHP 拡張機能を使用して、インデックスを作成し、データを挿入し、クエリを実行できます。以下は簡単なサンプル コードです:
<?php // 连接到Manticore Search服务 $dsn = 'mysql:host=127.0.0.1;port=9306'; $db = new PDO($dsn); // 创建索引 $sql = 'CREATE TABLE products (id INTEGER PRIMARY KEY, name TEXT, price FLOAT)'; $db->exec($sql); // 插入数据 $sql = 'INSERT INTO products (id, name, price) VALUES (1, "Apple", 5.99)'; $db->exec($sql); $sql = 'INSERT INTO products (id, name, price) VALUES (2, "Banana", 3.99)'; $db->exec($sql); $sql = 'INSERT INTO products (id, name, price) VALUES (3, "Orange", 4.99)'; $db->exec($sql); // 执行查询 $sql = 'SELECT * FROM products WHERE MATCH("Apple")'; $result = $db->query($sql); while ($row = $result->fetch()) { echo $row['id'] . ' ' . $row['name'] . ' ' . $row['price'] . PHP_EOL; } // 关闭连接 $db = null; ?>
上記のコードでは、まず Manticore Search サービスに接続し、「products」という名前のインデックス テーブルを作成します。次に、3 つの製品データを挿入し、名前に「Apple」を含む製品に対する簡単なクエリを実行しました。最後に、ループを通じてクエリ結果を出力します。
4. プライベート検索エンジンを構築する
Manticore Search と PHP を使用して、特定のアプリケーションのニーズを満たすプライベート全文検索エンジンを構築できます。以下は、PHP をバックグラウンド処理スクリプトとして使用し、フォームを通じてユーザーが入力したキーワードを受け取り、検索操作を実行する簡単な例です。
<?php // 连接到Manticore Search服务 $dsn = 'mysql:host=127.0.0.1;port=9306'; $db = new PDO($dsn); // 处理用户提交的搜索词 if (isset($_POST['keyword'])) { $keyword = $_POST['keyword']; $keyword = trim($keyword); // 执行查询 $sql = "SELECT * FROM products WHERE MATCH(:keyword)"; $stmt = $db->prepare($sql); $stmt->execute(['keyword' => $keyword]); $result = $stmt->fetchAll(); // 输出查询结果 foreach ($result as $row) { echo $row['id'] . ' ' . $row['name'] . ' ' . $row['price'] . PHP_EOL; } } ?> <form action="" method="post"> <input type="text" name="keyword" placeholder="请输入关键词"> <input type="submit" value="搜索"> </form>
上記のコードでは、ユーザーが入力したキーワードを次のように受け取ります。フォームにアクセスし、対応する検索操作をバックグラウンドで実行します。検索結果がページに出力されます。
5. 概要
この記事では、PHP と Manticore Search を使用してプライベート検索エンジンを構築する方法と実践を紹介します。 Manticore Search が提供する PHP 拡張機能を使用すると、インデックスの作成、データの挿入、クエリの実行が簡単に行えます。同時に、PHPのフォーム処理機能と組み合わせて、簡易検索ページを構築し、プライベートな全文検索機能を実装することもできます。この記事がプライベート検索エンジンの構築に少しでも役立つことを願っています。
以上がPHP およびマンティコア検索開発: プライベート検索エンジンの構築の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。