PHP およびマンティコア検索開発: タグベースの検索エンジンの構築
PHP および Manticore 検索開発: タグベースの検索エンジンの構築
検索エンジンは今日のインターネットの重要な部分であり、大量のデータからユーザーが必要とする情報を迅速にクエリ、照合、表示できます。 。ただし、従来の検索エンジンは基本的な全文検索機能しか提供していないことが多く、データの正確な検索やフィルタリングには不十分です。この記事では、PHP と Manticore Search を使用してタグベースの検索エンジンを構築し、より正確で効率的な検索エクスペリエンスを提供する方法を紹介します。
Manticore Search は、オープン ソースの検索エンジン Sphinx に基づいて開発された全文検索エンジンです。高速かつ強力な全文検索機能を提供するだけでなく、リアルタイムのインデックス更新や複雑なクエリ構文もサポートします。 PHP は、幅広いアプリケーションと豊富な開発ライブラリを備えた人気のあるサーバーサイド スクリプト言語です。
始める前に、Manticore Search をインストールする必要があります。次の手順に従ってインストールできます:
-
Manticore Search をダウンロードしてインストールします:
$ wget https://github.com/manticoresoftware/manticoresearch/releases/download/3.6.0/manticore-3.6.0-200714-58157c26-release.tar.gz $ tar -xvf manticore-3.6.0-200714-58157c26-release.tar.gz $ cd manticore-3.6.0/bin $ ./searchd
ログイン後にコピー インデックスの作成:
$ ./searchd $ mysql -P9306 -e "CREATE TABLE documents (id int, title text, content text, tags multi)" $ mysql -P9306 -e "INSERT INTO documents VALUES (1, 'Document 1', 'This is the content of document 1', 'php, search')" $ mysql -P9306 -e "INSERT INTO documents VALUES (2, 'Document 2', 'This is the content of document 2', 'mysql, database')" $ mysql -P9306 -e "INSERT INTO documents VALUES (3, 'Document 3', 'This is the content of document 3', 'php, database')"
ログイン後にコピー
Manticore Search のインストールとインデックスの作成が完了したので、次に PHP コードの記述プロセスに入ります。
まず、PHP 用の Manticore Search 拡張機能をインストールする必要があります。次の手順に従ってインストールできます。
拡張機能をダウンロードしてコンパイルします。
$ git clone https://github.com/manticoresoftware/php-manticore.git $ cd php-manticore $ phpize $ ./configure $ make $ sudo make install
ログイン後にコピーphp.ini ファイルで拡張機能を有効にします。
extension=manticore.so
ログイン後にコピー
上記の手順を完了したら、タグベースの検索エンジンを構築するための PHP コードの作成を開始できます。以下はサンプル コードです。
<?php $host = 'localhost'; $port = 9306; $index = 'default'; $query = 'php'; // 连接Manticore Search $conn = new ManticoreSearchConnection(); $conn->connect($host, $port); // 创建查询 $search = new ManticoreSearchSearch($conn); $search->index($index); $search->limit(10); $search->setMatchMode(ManticoreSearchSearch::SPH_MATCH_EXTENDED); // 添加标签过滤条件 $search->setFilter('tags', [$query], true); // 发送查询请求 $result = $search->query(''); // 处理查询结果 if (!empty($result['matches'])) { foreach ($result['matches'] as $match) { echo 'ID: ' . $match['id'] . '<br>'; echo 'Title: ' . $match['attrs']['title'] . '<br>'; echo 'Content: ' . $match['attrs']['content'] . '<br>'; echo 'Tags: ' . $match['attrs']['tags'] . '<br><br>'; } } else { echo 'No results found.'; } // 关闭连接 $conn->close();
上記のコードは、タグベースの検索に Manticore Search を使用する方法を示しています。まず、ManticoreSearchConnection クラスを通じて接続オブジェクトを作成し、次に ManticoreSearchSearch クラスを通じてクエリ オブジェクトを作成しました。 Index 属性とlimit 属性を設定することで、クエリのインデックスと返される結果の最大数を指定します。次に、そのタグを含むドキュメントのみが返されるように、タグのフィルター条件を設定します。
最後に、クエリ メソッドを呼び出してクエリ リクエストを送信し、返された結果を処理します。クエリ結果が空でない場合は、matches 配列をたどって、対応するドキュメント ID、タイトル、コンテンツ、およびタグを出力できます。クエリ結果が空の場合は、「結果が見つかりません。」と出力されます。
上記の手順により、PHP と Manticore Search を使用してタグベースの検索エンジンを構築することに成功しました。合理的なインデックス構造とクエリ条件により、ユーザーの個別のニーズを満たす、より正確で効率的な検索機能を実現できます。この記事が、検索エンジン開発に PHP と Manticore Search を使用する読者にとって役立つことを願っています。
以上がPHP およびマンティコア検索開発: タグベースの検索エンジンの構築の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP へのログインは非常に簡単な作業です。使用する関数は 1 つだけです。 cronjob などのバックグラウンド プロセスのエラー、例外、ユーザー アクティビティ、ユーザーが実行したアクションをログに記録できます。 CakePHP でのデータのログ記録は簡単です。 log()関数が提供されています

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

CakePHP はオープンソースの MVC フレームワークです。これにより、アプリケーションの開発、展開、保守がはるかに簡単になります。 CakePHP には、最も一般的なタスクの過負荷を軽減するためのライブラリが多数あります。
