最新のWebアプリケーションでは、検索機能はユーザーエクスペリエンスの向上の重要な部分です。検索結果が高速かつ正確であることを確認するには、高性能フルテキスト検索エンジンを採用することが特に重要です。 Manticore Searchは、PHPクライアントを組み合わせてアプリケーションに簡単に統合する強力な検索エンジンです。
この記事では、PHPとManticoreの検索を使用して正確な検索機能を作成し、コードの例を介して理解を深める方法を段階的に紹介します。
Manticore検索を使用する前に、最初にインストールを完了する必要があります。インストールは、端末で次のコマンドを実行することで完了できます。
sudo apt-getインストールManticoresearch
検索する前に、インデックスを作成してドキュメントを追加する必要があります。インデックスはデータストレージと取得を担当し、ドキュメントは特定のデータコンテンツです。次の例は、本のタイトル、著者、コンテンツを含む本と呼ばれるインデックスを作成する方法を示しています。
インデックスブック { type = plain Path =/var/lib/manticore/data/books ソース= src1 ... }
次に、PHPコードを使用してドキュメントにインデックスを付けます。
<?php require_once('Manticore.php'); $client = new ManticoreClient(); $doc = array( 'id' => 1、 'title' => '元の意図けのphp'、 「著者」=> 'ジョン・ドー'、 「コンテンツ」=> 'この本は元の意図けガイドです」 ); $ client-> adddocument( 'books'、$ doc); ?>
インデックスの準備ができたら、一致するドキュメントを取得するために検索クエリを実行できます。次の例は、キーワードベースの検索操作を示しています。
<?php require_once('Manticore.php'); $client = new ManticoreClient(); $query = 'beginners guide'; $results = $client->検索( 'books'、$ query); foreach($ results ['matches'] as $ mate){ エコー 'タイトル:'。 $ match ['attrs'] ['title']。 '<br> '; echo '著者:'。 $ match ['attrs'] ['Author']。 '<br> '; echo 'content:'。 $ match ['attrs'] ['content']。 '<br> '; エコー '<hr> '; } ?>
検索の精度とパフォーマンスを向上させるために、Manticore検索からの高度なクエリ機能を利用できます。次のコードの例は、検索フィールドを指定し、返される結果の数を制限する方法を示しています。
<?php require_once('Manticore.php'); $client = new ManticoreClient(); $query = 'beginners guide'; $params = array( 'fields' => array( 'title'、 'content')、 'limit' => 10 ); $ results = $ client-> search( 'books'、$ query、$ params); foreach($ results ['matches'] as $ mate){ エコー 'タイトル:'。 $ match ['attrs'] ['title']。 '<br> '; echo 'content:'。 $ match ['attrs'] ['content']。 '<br> '; エコー '<hr> '; } ?>
フィールドを明示的に検索し、戻る行の数を制限することにより、検索結果をより正確に制御できます。
PHPおよびManticore検索で構築された正確な検索関数は、検索効率を改善するだけでなく、結果の精度を大幅に向上させます。この記事では、インストールからの完全なプロセスとサンプルコード、クエリ、最適化へのインデックス作成、開発者が迅速に開始して適用できるようにします。実際のプロジェクトでは、検索エクスペリエンスをさらに向上させるために、より高度な機能を調査することができます。