全文検索とは何ですか?
全文検索とは、文書のすべてのテキスト情報を検索対象とする情報検索技術を指します。検索対象は、記事のタイトル、記事の著者、または記事の要約や内容などです。
スフィンクスとは何ですか?
Sphinx は、MySQL および PostgreSQL と組み合わせて全文検索できる SQL ベースの全文検索エンジンで、データベース自体よりも専門的な検索機能を提供できるため、アプリケーションで専門的な全文検索を簡単に実装できます。 。 Sphinx は、PHP、Python、Perl、Ruby などの一部のスクリプト言語用の検索 API インターフェイスを特別に設計し、MySQL 用のストレージ エンジン プラグインも設計します。
Sphinx 1 つのインデックスには最大 1 億レコードを含めることができ、1,000 万レコードのクエリ速度は 0.x 秒 (ミリ秒) です。 Sphinx によるインデックス作成の速度は、100 万レコードのインデックスを作成するのに 3 ~ 4 分しかかかりません。最新の 100,000 レコードのみを含む増分インデックスの作成は 50 分で完了します。レコードを再構築する必要があるのは 1 回だけです。
比較的一般的な php + mysql + Sphinx_PHP チュートリアルの概要 検索エンジンのアーキテクチャ図を見てみましょう:
Sphinx にはどのような機能がありますか?
高速インデックス作成 (新しい CPU ではほぼ 10 MB/秒)。
高速検索 (テキスト量が 2 ~ 4G の場合、平均クエリ速度は 0.1 秒未満);
高可用性 (単一の CPU で最大 100 GB のテキストと 1 億ドキュメントをサポート可能);
関連性の高いランキングを提供します
分散検索をサポートします。
ドキュメントの概要の生成を提供します。
MySQL 内のプラグイン ストレージ エンジンからの検索を提供します
ブール値、フレーズ、単語の近接クエリをサポートします
各ドキュメントの複数の全文検索フィールドをサポートします (デフォルトは最大 32)。
ドキュメントごとに複数の属性をサポートします。
単語の分割をサポートします。
シングルバイトエンコーディングとUTF-8エンコーディングをサポートします。
英語ステミング、ロシア語ステミング、および形態論用の Soundex をサポートします。
MySQ をサポート (MyISAM テーブルと InnoDB テーブルの両方がサポートされます);
PostgreSQL をサポートします。
より詳細なチュートリアルについては、以下を参照してください: PHP 公式 Sphinx ドキュメント
興味のある記事
Sphinx は Windows にインストールされ、使用されます [中国語の全文検索をサポート]
Break、Continue、Goto、Return を使用しますPHP で複数のループから抜け出すには、exit の使用法と違い
PHP は現在のオペレーティング システムが Linux か Windows かをどのように判断しますか?
PHP での echo、print、print_r、var_export、var_dump の使用法と違い