Full-text searching is performed using MATCH() ... AGAINST syntax. MATCH() takes a comma-separated list that names the columns to be searched. AGAINST takes a string to search for, and an optional modifier that indicates what type of search to perform.
SELECT name, cost FROM items WHERE Match(name) Against('bady')
SELECT COUNT(*) FROM atricles WHERE Match(title, body) AGAINST ('database')
SELECT COUNT(IF(MATCH(title, body) AGAINST('database'), 1, NULL)) AS count FROM atricles
mysql> SELECTid, body, MATCH (title,body) AGAINST-> ('Security implications of running MySQL as root') ASscore-> FROM articles WHEREMATCH (title,body) AGAINST-> ('Security implications of running MySQL as root');
1. aaa'bbb is regarded as one word, but aaa''bbb is regarded as two words
2. 'aaa'bbb' would be parsed as aaa'bbb.
3. The FULLTEXT parser determines where words start and end by looking for certain delimiter characters; for example, “” (space), “,” (comma), and “.” (period). If words are not separated by delimiters (as in, for example, Chinese), the FULLTEXT parser cannot determine where a word begins or ends. To be able to add words or other indexed terms in such languages to a FULLTEXT index, you must preprocess them so that they are separated by some arbitrary delimiter such as “"”.
4. Some words are ignored in full-text searches:
4.1 Any word that is too short is ignored. At least four characters.
4.2 Words in the stopword list are ignored. Such as “the” or “some”. There is a built-in stopword list, but it can be overwritten by a user-defined list.
http://dev.mysql.com/doc/refman/5.0/en/fulltext-stopwords.html
5. Designed for large database, for a small database, it might have bizarre result.
Read online: http://dev.mysql.com/doc/refman/5.0/en/fulltext-natural-language.html