Lo que contenga "casa roja" .. no va a buscar por "casa" y/o "roja" para ese tipo de busquedas tienes en Mysql las busquedas "Full text":
http://www.mysql-hispano.org/page.php?id=15
También podrías usar explode() de PHP para "partir" esa cadena en sus "palabras" entendiendose como "palabra" a algo separado por un espacio .. y de ahí ir componiendo tu sentencia SQL (que para PHP hasta que la ejecutas vía mysql_query() no es más que una simple cadena/string) a base de AND u OR y las "palabras" que obtengas (en un array) de aplicar explode().
Un saludo,