3
votes

I am trying to perform a search for users based on a full-text search.

SELECT * FROM users WHERE MATCH ( name ) AGAINST ( 'FDR' IN BOOLEAN MODE );

However the query yields no results. I can replace the search value with other strings and yield results.

I have even tried using a null stop word list with no success. The problem seems to with this particular string.

2
What string is in the name column that you think it should match?jonstjohn

2 Answers

6
votes

From dev.mysql.com/doc/refman/5.1/en/fulltext-fine-tuning.html

The default minimum value is four characters; the default maximum is version dependent. If you change either value, you must rebuild your FULLTEXT indexes.

The minimum and maximum lengths of words to be indexed are defined by the ft_min_word_len and ft_max_word_len system variables.

Also see Server System Variables

4
votes

If this article is still valid, then it's because MySQL fulltext indexing doesn't index words <= 3 characters long.