全文検索は MyISAM
テーブルでのみサポートされています。
全文検索は、ほとんどのマルチバイトキャラクタセットと使用できます。例外は
Unicode で、utf8
キャラクタセットは使用可能ですが、ucs2
キャラクタセットは使用できません。ただし、ucs2
カラムの FULLTEXT
インデックスは使用できないものの、そうしたインデックスが設定されていない
ucs2
カラムで
IN BOOLEAN MODE
検索を行うことは可能です。
中国語や日本語のような表意文字を用いる言語は区切り符号を持ちません。従って、FULLTEXT
パーサーはその種の言語では単語の始めと終わりを区別することができません。この含意と問題の回避については
項7.8. 「全文検索関数」
で説明されています。
単一テーブル内での複数のキャラクタセットの使用はサポートされているものの、FULLTEXT
インデックスのすべてのカラムは、同じキャラクタセットと照合を使用する必要があります。
MATCH()
カラムリストは、MATCH()
が IN BOOLEAN
MODE
でないかぎり、FULLTEXT
インデックスのテーブルのための定義のカラムリストと正確に一致していなければなりません。ブールモードの検索はインデックス付きでないカラムでも行えますが、スピードは遅くなるでしょう。
AGAINST()
への引数は定数文字列でなければなりません。
非 FULLTEXT
検索の場合よりも
FULLTEXT
検索の場合のほうが、インデックスヒントに関する制限が多くなります。項8.2.8.2. 「インデックスヒントの構文」
を参照してください。