ホームページ  >  記事  >  データベース  >  MySQLで全文検索操作を実行するにはどうすればよいですか?

MySQLで全文検索操作を実行するにはどうすればよいですか?

WBOY
WBOYオリジナル
2023-07-29 22:18:294703ブラウズ

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 ステートメントは、全文検索の動作をさらに制御できるいくつかのオプションをサポートしています。

    #IN BOOLEAN MODE
  1. IN BOOLEAN MODE を使用して、検索でブール演算を実行します。
コード例:

SELECT * FROMarticle WHERE MATCH(content) AGAINST('MySQL -Full text' IN BOOLEAN MODE);

このクエリ ステートメントはキーを返します。 「MySQL」という単語を含むが、キーワード「フルテキスト」を含まない記事レコード。

    WITH QUERY EXPANSION
  1. WITH QUERY EXPANSION を使用すると、検索範囲を拡張し、キーワードに関連するより多くの記事レコードを返すことができます。
コード例:

SELECT * FROMarticle WHERE MATCH(content) AGAINST('MySQL full text search' WITH QUERY EXPANSION);

このクエリ ステートメントはキーを返します。 「MySQL 全文検索」という単語に関連するその他の記事レコード。

4. 検索結果の数を制限する

LIMIT ステートメントを使用して検索結果の数を制限し、クエリの効率を向上させることができます。

コード例:

SELECT * FROMarticle WHERE MATCH(content) AGAINST('MySQL full text search') LIMIT 10;

このクエリ ステートメントはキーワード「MySQL full text」を返します。 「検索」の最初の10記事を記録します。

5. 検索ランキングの使用

MySQL の MATCH AGAINST ステートメントは、テキスト内の出現頻度に従ってキーワードを並べ替え、検索ランキングを返すことができます。

コード例:

SELECT *, MATCH(content) AGAINST('MySQL 全文検索') AS ランク FROM 記事 WHERE MATCH(content) AGAINST('MySQL 全文検索') ORDER BY Rank DESC;

このクエリ ステートメントは、キーワード「MySQL 全文検索」の検索ランキングに従って降順にソートされた記事レコードを返します。

要約すると、MySQL の全文検索機能は、FULLTEXT インデックスを作成し、MATCH AGAINST ステートメントを使用することで実現できます。全文検索操作を実行する場合、オプションを設定し、検索結果の数を制限し、検索ランキングを使用してクエリの精度と効率を向上させることができます。

以上がMySQLで全文検索操作を実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。