Con respecto a lograr que funcione aun cuando pongas la variable "o" en lugar de "y"...
Me imagino que tu script hace esto:
Si es "y" te entrega una cadena con la busqueda completa
Si es "o" te entrega un array con las diferentes palabras
En ese caso lo unico que debes hacer es lograr que la variable "LaBusqueda" te separe con | todas las palabras buscadas.
Te explico:
Cadena de busqueda= "sierra nevada en invierno"
con "y" queda así: LaBusqueda="sierra nevada en invierno"
con "o" debería quedar asi: LaBusqueda="sierra|nevada|en|invierno"
Con esto lograrías que te encuentre frases donde exista cualquiera de las palabras.
Puedes usar un "Join" o algo asi...
Saludos.
(Lo de las negritas te lo paso mas tarde)