MySQL full text search for words with three or less letters
I'm trying to get my full text search (in boolean mode) to retrieve words with three letters or less.
Currently, if I search for something like "NBA", I don't get any results.
However, if I append the wild card operator "*" to the search term, I get results.
I also read t开发者_如何转开发hat you could remove the three word limit in my.ini
, but I'm wondering if there was a better way to do this on the fly.
This section of the manual might interest you : 11.8.6. Fine-Tuning MySQL Full-Text Search (quoting a portion of it) :
The minimum and maximum lengths of words to be indexed are defined by the
ft_min_word_len
andft_max_word_len
system variables. The default minimum value is four characters; the default maximum is version dependent. If you change either value, you must rebuild your FULLTEXT indexes.
For example, if you want three-character words to be searchable, you can set theft_min_word_len
variable by putting the following lines in an option file:[mysqld] ft_min_word_len=3
Then you must restart the server and rebuild your FULLTEXT indexes.
(You should read that page, for more informations I didn't copy-paste ;-) )
精彩评论