現在の位置: ホーム> 最新記事一覧> PHPはManticore検索を統合して効率的なフルテキスト検索機能を実現します

PHPはManticore検索を統合して効率的なフルテキスト検索機能を実現します

gitbox 2025-07-17

導入

Manticore Searchは、高速クエリとリアルタイムインデックスをサポートするオープンソースフルテキスト検索エンジンです。ウェブサイト検索、コンテンツ管理システム、eコマースプラットフォームなどのシナリオでよく使用されます。この記事では、PHPとManticore検索を組み合わせて実用的なフルテキスト検索機能を実現する方法を示します。

Manticore検索をインストールします

Manticore検索を使用するには、基本的な構成をダウンロードしてインストールして実行する必要があります。

ダウンロードしてインストールします

公式のManticore Search Webサイトにアクセスして、システムをダウンロードするのに適したバージョンを選択します。 UbuntuなどのDebianベースのシステムでは、次のコマンドを使用してインストールできます。

 sudo apt-get update
sudo apt-get install manticore

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で検索機能の実装を開始します。

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サイトまたはアプリケーションに提供できます。