Have you ever tried to use SQL Full text search syntax?
It could be a pain in the... you need to parse it and make sure there is no attempt to inject any sql, the parenthesis are opened and closed, quotes are closed if opened and I'm probably forgetting something.
Eric W. Bachtal wrote an article and a class that does it for you.
Give it a try, it made my life very easy.
I've also uploaded a copy to my repository in case the link ever go down.
Update: It should be noted that Jonathan Wood also implemented something similar, I haven't tested it though, next project then.