Amigo, no estoy seguro de entender bien la pregunta, pero no parece algo tan difícil, primeramente debes establecer bien cuales son las reglas de la búsqueda.
Para esto debes tener una lista de conjunciones, preposiciones y palabras prohibidas, algo como:
Código C#:
Ver originalstring [] preposiciones = new string []{"a", "antes", "de", "desde" ... "tras"};
string [] conjunciones = {"y", "sino", "si no"... "como"}
Entonces defines un método Buscar de la siguiente forma:
Código C#:
Ver originalpublic static Buscar(string busqueda, string texto){
string [] palabras_buscadas = busqueda.Split(',');
for(int i=0; i<palabras_buscadas.Length; i++)
if(preposiciones.IndexOf(palabras_buscadas[i] <0 || conjunciones.IndexOf(palabras_buscadas[i] <0)
{
//Si no es una preposicion ni conjuncion
DoSomething();
}
}
Esta sería la idea mas o menos (no he probado ni compilado el código), recuerda buscar con IndexOf que es mejor, y lo otro es que sería buena idea llevar todas las palabras a minúsculas para realizar la busqueda.