Su tabla debe configurarse usando ENGINE =MyISAM (no InnoDB) y las columnas que está buscando deben configurarse para la indexación de TEXTO COMPLETO.
Puede configurar fácilmente su tabla en MyISAM en phpMyAdmin a través de la pestaña 'SQL'...
ALTER TABLE `tablename` ENGINE=MYISAM;
En Joomla 2.5+ (probablemente 3+ también) en mi consulta como cláusula where utilicé...
->where('MATCH ('.$db->quoteName('columnname').') AGAINST ('.$db->quote($words_or_phrase_to_search_for).')');
Se requieren más pruebas, pero hasta ahora parece funcionar como se esperaba.