MySQLでのMATCHの使い方は何ですか?
MySQLの「MATCH」は、全文検索機能を実行するための関数です。特定のキーワードを含む行を指定された列または列のセットで検索するのに使用されます。MATCH関数は主にMySQLの全文検索機能で使用されます。
MATCH関数の一般的な構文は次の通りです:
MATCH (column1, column2, ...) AGAINST ('search_keyword' [search_modifier])
各列名「column1」「column2」などは検索対象となる列名であり、単一の列名や複数の列名の集まりである。search_keywordは検索するキーワードやフレーズである。
search_modifierは選択肢であり、検索の動作を指定するために使用されます。一般的に使用される検索修飾子には次のものがあります:
- 自然言語モードは、全文検索インデックスで検索を実行するためのデフォルトの検索モードです。キーワードを自然言語処理し、最も関連性の高い結果を返します。
- BOOLEAN MODEは、ブール全文検索を実行するために使用されます。ブール演算子(AND、OR、NOT)を使用してキーワードを組み合わせ、+および-記号を使用してキーワードの重要性を指定できます。
- クエリ拡張:検索キーワードに関連する単語を追加して検索範囲を広げるための機能。
Usage example:
使用例:
SELECT * FROM table_name WHERE MATCH (column1, column2) AGAINST ('search_keyword' IN NATURAL LANGUAGE MODE);
MATCH関数を使用するには、テーブルの列に全文検索インデックスが必要です。全文検索インデックスを作成するためにはFULLTEXTインデックスタイプを使用できます。