Ciao, come giustamente dice Alhazred anche secondo me devi usare una ricerca FULLTEXT, quindi per prima cosa devi modiifcare il campo di conseguenza.

poi per la parte php/mysql ecco un esempio che avevo fatto tempo fa:

Codice PHP:
// questa mi serve per filtrare le stringe che siano almeno di 4 caratteri
function filtro($val){
        if(
strlen(trim($val))<4){
            return 
false;
        } else {
            return 
true;
        }
    }

$expression "*".implode("* *", (array_unique(array_filter(explode(" "$_get['expression']), "filtro"))))."*";  

// explode mi serve per far diventare la mia stringa un array
// array_filter mi serve per eliminare gli elementi che contengono stringhe minori di 4 caratteri
// array_unique mi serve per eliminare gli elementi doppi
// implode mi serve per ricostruire la stringa dall' array, gli asterischi mi servono per la tipologia di ricerca che faccio
        
$recDati mysql_query("SELECT *, MATCH( nome, testo) AGAINST('".$expression."' IN BOOLEAN MODE) AS attinenza FROM contenuti WHERE MATCH(nome, testo) AGAINST('".$expression."' IN BOOLEAN MODE) ORDER BY attinenza DESC LIMIT 0,20");