MySQL で全文検索操作を実行するにはどうすればよいですか?
全文検索は、テキストフィールド内のキーワードを検索する機能です。 MySQL では、全文検索を使用してクエリ効率を向上させ、関連する結果を迅速に見つけることができます。この記事では、MySQL で全文検索操作を実行する方法とコード例を紹介します。
1. フルテキスト インデックスの作成
フルテキスト検索を実行する前に、まず検索対象のフィールドにフルテキスト インデックスを作成する必要があります。 MySQL では、FULLTEXT インデックスを使用して全文検索機能を実装できます。
たとえば、articles という名前のテーブルで、コンテンツ フィールドで全文検索を実行したい場合は、次の SQL ステートメントを実行して FULLTEXT インデックスを作成できます:
ALTER TABLE記事 ADD FULLTEXT(content );
2. 全文検索クエリを実行する
フルテキスト インデックスを作成した後、MATCH AGAINST ステートメントを使用して全文検索クエリを実行できます。
構文例:
SELECT * FROM Articles WHERE MATCH(content) AGAINST('keyword');
このうち、contentは検索が必要なフィールドで、'keyword'は検索が必要なフィールドです。 ' は検索する必要があるフィールドです。キーワードを検索します。実際の状況に応じて変更できます。
コード例:
SELECT * FROMarticle WHERE MATCH(content) AGAINST('MySQL full-text search');
このクエリ ステートメントはキーワード「MySQL full-text search」を返します。検索」記事レコード。
3. 全文検索オプションの設定
MySQL の MATCH AGAINST ステートメントは、全文検索の動作をさらに制御できるいくつかのオプションをサポートしています。
SELECT * FROMarticle WHERE MATCH(content) AGAINST('MySQL -Full text' IN BOOLEAN MODE);
SELECT * FROMarticle WHERE MATCH(content) AGAINST('MySQL full text search' WITH QUERY EXPANSION);
LIMIT ステートメントを使用して検索結果の数を制限し、クエリの効率を向上させることができます。
SELECT * FROMarticle WHERE MATCH(content) AGAINST('MySQL full text search') LIMIT 10;
MySQL の MATCH AGAINST ステートメントは、テキスト内の出現頻度に従ってキーワードを並べ替え、検索ランキングを返すことができます。
SELECT *, MATCH(content) AGAINST('MySQL 全文検索') AS ランク FROM 記事 WHERE MATCH(content) AGAINST('MySQL 全文検索') ORDER BY Rank DESC;
以上がMySQLで全文検索操作を実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。