MySQL Full-Text Search Is Broken!

…and has been for 8 years.

I came across MySQL bug #2095 today:

full-text search for words containing hyphens won't work
Submitted: 11 Dec 2003 6:15
Hyphen '-' characters break literals at the moment.
A search for something like "GATA-D22S690" finds
all entries containing GATA and not the full 
hyphenated text.

~ Link

MySQL disputes the fact that this is a bug.

But in reality – as the submitters points out – there are many cases where hyphens are part of words. The example I ran into tonight was product model numbers (eg. “00-17” or “j-35”).

The MySQL docs recommend recompiling or modifying one of two system files.  None of these options are feasible in a shared hosting environment.

I can’t believe this bug exists. As far as I’m concerned this is a complete and utter deal breaker for any application that needs to search non-word strings containing hyphens. I’ve been exclusively using MySQL for my entire career and I now know that a bunch of sites I’ve worked on in the past 10 years were launched with this bug.