PHP 開発での全文検索に Sphinx を使用する方法

WBOY
リリース: 2023-06-25 09:22:02
オリジナル
1504 人が閲覧しました

PHP 開発での全文検索に Sphinx を使用する方法

Sphinx は、さまざまな言語での全文検索のニーズに適した高性能の全文検索エンジンです。 PHP 開発のために、Sphinx は既存の PHP アプリケーションに簡単に統合できる API とプラグインを提供します。今回はSphinxを使って全文検索を行う方法を解説します。

  1. Sphinx のインストール

Sphinx のインストールは非常に簡単で、Linux システム上でいくつかのコマンドを実行するだけです。 Ubuntu システムに Sphinx をインストールする手順は次のとおりです。

(1) APT パッケージ リストを更新します

sudo apt-get update

(2) Sphinx をインストールします

sudo apt-get install sphinxsearch

(3) Sphinx サービスの開始

sudo service sphinxsearch start

  1. Sphinx の設定

Sphinx の設定ファイルは /etc/sphinxsearch/sphinx.conf です。このファイルでは、Sphinx のグローバル設定とインデックスを定義できます。以下は、MySQL から Sphinx にデータのインデックスを作成するためのサンプル構成ファイルです:

source src1
{
type = mysql

sql_host = localhost
sql_user = username
sql_pass = パスワード
sql_db = dbname
sql_port = 3306 # オプション、デフォルトは3306です

sql_query =

SELECT id, title, content 
FROM article
ログイン後にコピー

sql_attr_uint = category_id
}

インデックス my_index
{
ソース = src1
パス = /var/lib/sphinxsearch/data/my_index
docinfo = extern
charset_type = utf-8

形態 = Stem_en

min_prefix_len = 3
min_infix_len = 1
}

searchd
{
listen = 127.0.0.1:9312
log = /var /log/ sphinxsearch/searchd.log
query_log = /var/log/sphinxsearch/query.log
read_timeout = 5
max_children = 30
pid_file = /var/run/sphinxsearch/searchd.pid
max_matches = 1000
}

この構成ファイルでは、src1 という名前のデータ ソースを定義し、MySQL データベースに接続し、そこから取得するフィールドを定義します。次に、my_index という名前のインデックスを定義して、指定されたパスへの src1 ソースのインデックスを作成しました。最後に、ポート 9312 でリッスンし、クエリ ログをオンにする searchd サービスを定義します。

  1. PHP を使用した Sphinx への接続

PHP で Sphinx に接続するのは非常に簡単です。 Sphinx の PHP 拡張機能を使用できます。これは、検索を実行するための一連の関数を提供します。以下は、全文検索のために Sphinx に接続するための PHP コードの例です。

//Sphinx に接続
$cl = new SphinxClient();
$cl->setServer( "localhost", 9312 );

//検索結果
$keywords = "Sphinx";
$result = $cl->Query($keywords, "my_index");

/ /出力結果
foreach ($result['matches'] as $doc => $match) {
echo "ドキュメントid={$doc},weight={$match[' weight']}, attr={$match'attrs'}
";
}

この例では、まず SphinxClient オブジェクトをインスタンス化し、Sphinx サーバーのホストとポートを指定します。次に、検索するクエリ キーワードと検索するインデックス名を指定して、検索を実行します。最後に、結果をループして、一致するドキュメント ID、重み、および属性を出力します。

概要

Sphinx は、PHP アプリケーションに簡単に統合できる強力な全文検索エンジンです。 Sphinx を使用すると、大量のテキスト文書を迅速に検索し、効率的かつ正確な検索結果を得ることができます。この記事がお役に立ち、PHP 開発での全文検索に Sphinx を使用する方法をよりよく理解していただければ幸いです。

以上がPHP 開発での全文検索に Sphinx を使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート