Full-text searches are supported for
MyISAM tables only. (In MySQL 5.6 and up,
they can also be used with InnoDB
tables.)
Full-text searches are not supported for partitioned tables. See Section 19.5, “Restrictions and Limitations on Partitioning”.
Full-text searches can be used with most multibyte character
sets. The exception is that for Unicode, the
utf8 character set can be used, but not
the ucs2 character set. However, although
FULLTEXT indexes on
ucs2 columns cannot be used, you can
perform IN BOOLEAN MODE searches on a
ucs2 column that has no such index.
The remarks for utf8 also apply to
utf8mb4, and the remarks for
ucs2 also apply to
utf16 and utf32.
Ideographic languages such as Chinese and Japanese do not
have word delimiters. Therefore, the
FULLTEXT parser cannot
determine where words begin and end in these and other such
languages. The implications of this and some
workarounds for the problem are described in
Section 12.9, “Full-Text Search Functions”.
Although the use of multiple character sets within a single
table is supported, all columns in a
FULLTEXT index must use the same
character set and collation.
The MATCH() column list must
match exactly the column list in some
FULLTEXT index definition for the table,
unless this MATCH() is
IN BOOLEAN MODE. Boolean-mode searches
can be done on nonindexed columns, although they are likely
to be slow.
The argument to AGAINST() must be a
string value that is constant during query evaluation. This
rules out, for example, a table column because that can
differ for each row.
Index hints are more limited for FULLTEXT
searches than for non-FULLTEXT searches.
See Section 8.9.3, “Index Hints”.
The '%' character is not a supported wildcard character for full-text searches.