I'm still maintaing a certain $project, which runs on MySQL (and Class::DBI, Template::Toolkit, mod_perl and a whole lot other stuff). Today, I got a bug report stating that the programme search cannot find a certain programm ("Help - Das Konsumentenmagazin").
So I tried the search, and it didn't work, even though the data is there. Yay, Heisenbug, I thought, and tried the query directly in the mysql shell. Didn't work either. After some tinkering I realized that 'help' is a MySQL fulltext search stopword. D'oh!
While I can see a point in making 'help' a stopword (it seems to be used quite often), it's IMO a very dumb decision to make it a stopword. People will look for 'help'!
To top it, you have to recompile (!) MySQL to change the stopwords list. Me hates MySQL!
As the sysadmins running the site will never, ever recompile MySQL (they also turned down switching from 5.6.something to 5.8.something because that might break some of the other apps (done in Java) running on the server...), my only options seems to hardcode a workaround into the app ($search='konsumentenmagazin' if $search == 'help'
).
Sigh...
My only hope for the future is that they issue a company guideline to not name any new radio programmes after a MySQL stopword.
Re:you can change the stopwords without a recompil
domm on 2006-04-05T06:52:20
Oh, thanks for the hint. As the server is running 4.0.15, this might be an option. I'll only have to convince the sysadmins...