Si usas Base de datos para almacenar tu contenido suceptible a ser "buscado", dentro del SQL (de Mysql por ejemplo) tienes opciones de busqueda mucho más efectivas .. sólo es cosa de emplear más SQL.
Concretamente me refiero a las busquedas de texto completo (Full text search):
http://www.mysql-hispano.org/page.php?id=15
También puedes usar PHP para "crear" una sentencia SQL compleja y de forma dinámica. Es decir .. crear por ejemplo una sentencia tipo campo LIKE '%$frase[0]%' .. por cada "palabra" de una frase dada. (Bueno .. para evitar eso las busquedas Full text search son en muchos casos más efectivas en sus resultados).
Un saludo,