Manticore Searchは、高速クエリとリアルタイムインデックスをサポートするオープンソースフルテキスト検索エンジンです。ウェブサイト検索、コンテンツ管理システム、eコマースプラットフォームなどのシナリオでよく使用されます。この記事では、PHPとManticore検索を組み合わせて実用的なフルテキスト検索機能を実現する方法を示します。
Manticore検索を使用するには、基本的な構成をダウンロードしてインストールして実行する必要があります。
公式のManticore Search Webサイトにアクセスして、システムをダウンロードするのに適したバージョンを選択します。 UbuntuなどのDebianベースのシステムでは、次のコマンドを使用してインストールできます。
sudo apt-get update
sudo apt-get install manticore
インストールが完了したら、構成ファイルを変更して、サービス操作とログ管理を有効にします。構成例は次のとおりです。
indexer {
mem_limit = 128M
}
searchd {
listen = 9306:mysql41
log = /var/log/manticore/searchd.log
query_log = /var/log/manticore/query.log
read_timeout = 5
}
構成が完了したら、次のコマンドを使用してインデックスを作成します。
sudo indexer --all --rotate
次に、PHPで検索機能の実装を開始します。
作曲家を介して公式のPHPクライアントをインストールします。
composer require manticoresoftware/manticoresearch-php
Manticore検索に接続してキーワードクエリを実行するためのサンプルコードを次に示します。
<?php
use Manticoresearch\Query\BoolQuery;
use Manticoresearch\Query\Match;
use Manticoresearch\Query\QueryString;
use Manticoresearch\Search;
// 検索クエリを作成します
$search = new Search();
$query = new BoolQuery();
$query->addMust(new Match('content', 'キーワード'));
$search->setQuery($query);
// 検索を実行します
$results = $search->search();
// 出力検索結果
foreach ($results['hits']['hits'] as $hit) {
echo $hit['_id'] . ': ' . $hit['_source']['content'] . '<br>';
}
?>
上記の例では、boolqueryを使用して、マッチとのキーワードマッチングを実現し、検索を実行して結果を表示します。
この記事では、PHPとManticore検索を使用してフルテキスト検索機能を実装する方法について詳しく説明しています。検索エンジンのインストールと構成からPHPクライアントの使用までの検索ロジックを構築するまで、開発者は明確な実用的なパスを持っています。
このようにして、ユーザーのコンテンツディスカバリーエクスペリエンスを改善するために、効率的でカスタマイズ可能なフルテキスト検索機能をWebサイトまたはアプリケーションに提供できます。