FULLTEXT Search (InnoDB) - Am I doing it right? Goal: I wish to do autocomplete using ~130K global city names. 

Setup: I have created a 'cities' table as follows: 

CREATE TABLE IF NOT EXISTS cities (
          id INT(11) NOT NULL AUTO_INCREMENT,
          name VARCHAR(199) NOT NULL,
          PRIMARY KEY  (id),
          FULLTEXT (name)
          )$charset_collate;


My autocomplete code would fetch the 'name' entries and suggest them to user as user types name. 

I'm using following query to fetch results:

SELECT name
FROM cities
WHERE MATCH (name) AGAINST (\''.$searchQuery.'*\' IN BOOLEAN MODE);


Question: Is this the right approach to take full advantage of FULLTEXT? Am I missing out on anything? Can my query be improved to fetch better results? 

Thanks!
Will you want San Jose to come up when the user types jo?  If not, then FULLTEXT is not useful.  Instead, a simple LIKE '$searchQuery%' is all you need.

Because of how many rows you have (130K), consider


SELECT DISTINCT -- to avoid returning dups.  (There are perhaps 328 San Jose's in the world.)
Don't auto complete if (1) the user has typed only 1 letter, and (2) if the select returns "too many" results.
Another thought is to ORDER BY POPULATION DESC.
Add a LIMIT to the SELECT.
Think about what to do with accents.