ngram Full-Text Parser To add a  FULLTEXT  index to an existing table, you can use  ALTER TABLE  or  CREATE INDEX . For example: CREATE TABLE articles ( id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY, title VARCHAR(200), body TEXT ) ENGINE=InnoDB CHARACTER SET utf8; ALTER TABLE articles ADD FULLTEXT INDEX ft_index (title,body) WITH PARSER ngram; # Or: CREATE FULLTEXT INDEX ft_index ON articles (title,body) WITH PARSER ngram; ngram Parser Space Handling •“ab cd”  is parsed to “ab” , “cd” •“a bc”  is parsed to “bc” The ngram parser eliminates spaces when parsing. For example: ngram Parser Stopword Handling The built-in MySQL full-text parser compares words to entries in the stopword list. If a word is equal to an entry in the stopword list, the word is excluded from the index. For the ngram parser, stopword handling is performed differently. Instead of excluding tokens that are equal to entries in the stopword list, the ngram parser excludes tokens that  contain  stopwords. For example, assuming  ngram_token_size=2 , a document that contains “a,b”  is parsed to “a,”  and “,b” . If a comma (“,” ) is defined as a stopword, both “a,” and “,b”  are excluded from the index because they contain a comma. By default, the ngram parser uses the default stopword list, which contains a list of English stopwords. For a stopword list applicable to Chinese, Japanese, or Korean, you must create your own. For information about creating a stopword list, see Section 12.10.4, “Full-Text Stopwords” . Stopwords greater in length than  ngram_token_size  are ignored. ngram Parser Term Search ngram Parser Wildcard Search For  natural language mode  search, the search term is converted to a union of ngram terms. For example, the string “abc”  (assuming  ngram_token_size=2 ) is converted to “ab bc” . Given two documents, one containing “ab”  and the other containing “abc” , the search term “ab bc”  matches both documents. For  boolean mode search , the search term is converted to an ngram phrase search. For example, the string ’abc’ (assuming  ngram_token_size=2 ) is converted to ’“ab bc” ’. Given two documents, one containing ’ab’ and the other containing ’abc’, the search phrase ’“ab bc” ’ only matches the document containing ’abc’. Because an ngram  FULLTEXT  index contains only ngrams, and does not contain information about the beginning of terms, wildcard searches may return unexpected results. The following behaviors apply to wildcard searches using ngram  FULLTEXT  search indexes: 2225 mysql> SELECT * FROM INFORMATION_SCHEMA.INNODB_FT_INDEX_CACHE ORDER BY doc_id, position;