PHP およびマンティコア検索開発ガイド: 高度にカスタマイズされた検索フィルター
はじめに:
最新の Web アプリケーションでは、検索機能は重要な部分です。検索機能の品質は、Web サイトのユーザー エクスペリエンスに直接影響します。効率的な検索機能を実現するには、開発者は適切な検索エンジンを選択し、独自のニーズに応じてカスタマイズする必要があります。この記事では、PHP と Manticore Search 検索エンジンを使用して、高度にカスタマイズされた検索フィルターを開発する方法について説明します。
1.マンティコア検索とは何ですか?
Manticore Search は、高性能で無料のオープンソースの全文検索エンジンです。 Sphinx 検索エンジンをベースにしており、全文検索、分散インデックス作成、リアルタイムのインデックス更新など、多くの新機能と改善が追加されています。 Manticore Search は豊富な API とクライアント サポートを提供し、開発者が検索機能を使用するプロセスを大幅に簡素化します。
2. Manticore Search のインストールと設定
インデックスの作成: Manticore Search が提供するツールを使用して、必要なインデックスを作成します。たとえば、記事検索用のインデックスを作成する場合は、次のコマンドを使用できます:
indexer --config /path/to/config.conf --rotate --all
検索サービスを構成します: Manticore Search の構成ファイルを編集し、次のようなパラメーターを設定します。リスニングポートおよびインデックスパスとして。例は次のとおりです:
searchd { listen = localhost:9306 pid_file = /path/to/searchd.pid log = /path/to/searchd.log query_log = /path/to/query.log }
検索サービスを開始します: 次のコマンドを使用して検索サービスを開始します:
searchd --config /path/to/config.conf
3。検索する PHP
Manticore Search の PHP クライアント ライブラリ (manticoresearch/manticoresearch) をインストールします:
composer require manticoresearch/manticoresearch
検索接続を作成します:
$client = new ManticoresearchClient(['host' => 'localhost', 'port' => 9308]);
検索クエリを実行:
$params = [ 'index' => 'articles', 'body' => [ 'query' => [ 'match' => [ 'title' => 'PHP' ] ] ] ]; $response = $client->search($params);
$params = [ 'index' => 'articles', 'body' => [ 'query' => [ 'match' => [ 'title' => 'PHP' ] ], 'filter' => [ 'term' => [ 'category' => 'Tutorial' ] ] ] ]; $response = $client->search($params);
$params = [ 'index' => 'articles', 'body' => [ 'query' => [ 'match' => [ 'title' => 'PHP' ] ], 'filter' => [ 'bool' => [ 'must' => [ ['term' => ['category' => 'Tutorial']], ['term' => ['author' => 'John']] ], 'must_not' => [ ['term' => ['status' => 'Draft']] ] ] ] ] ]; $response = $client->search($params);
$params = [ 'index' => 'articles', 'body' => [ 'query' => [ 'match' => [ 'title' => 'PHP' ] ], 'filter' => [ 'range' => [ 'created_at' => [ 'gte' => '2022-01-01', 'lte' => '2022-12-31' ] ] ] ] ]; $response = $client->search($params);
以上がPHP およびマンティコア検索開発ガイド: 高度にカスタマイズ可能な検索フィルターの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。