Isenção de responsabilidade :este é um dos meus comentários sobre esta pergunta que pode ser a resposta:
Acho que
match ... against
é apropriado aqui. É a chamada "pesquisa de texto completo". Para pesquisas mais complexas, eu usaria Sphinx
- ele indexa seu banco de dados por conta própria (possui mecanismo próprio para isso) e realiza pesquisas muito mais rápido que o MySQL