Eliminación de palabras ruidosas en la indexación de texto completo de SQL Server 2005

En un escenario bastante típico, tengo un cuadro de texto 'Buscar' en mi aplicación web que hace que la entrada del usuario pase directamente a un procedimiento almacenado que luego usa la indexación de texto completo para buscar en dos campos en dos tablas, que se unen usando las teclas apropiadas.

Estoy usando el predicado CONTAINS para buscar en los campos. Antes de pasar la cadena de búsqueda, hago lo siguiente:

SET @ftQuery = '"' + REPLACE(@query,' ', '*" OR "') + '*"'

Cambiandoel castillo a"el *" O "castillo *", por ejemplo. Esto es necesario porque quiero que las personas puedan buscar encas y obtener resultados paraCastillo.

WHERE CONTAINS(Building.Name, @ftQuery) OR CONTAINS(Road.Name, @ftQuery)

El problema es que ahora que he agregado un comodín al final de cada palabra, palabras ruidosas (p. Ej.el) también tienen un comodín adjunto y, por lo tanto, ya no parecen caerse. Esto significa que una búsqueda deel castillo devolverá elementos con palabras comoteatro etc.

Cambiar OR a AND fue mi primer pensamiento, pero parece que simplemente no devuelve coincidencias si luego se usa una palabra ruidosa en la consulta.

Todo lo que estoy tratando de lograr es permitir al usuario ingresar múltiples palabras separadas por espacios que representen la totalidad o un prefijo de las palabras que están buscando, en cualquier orden, y soltar palabras ruidosas comoel desde su entrada (de lo contrario, cuando buscanel castillo obtienen una gran lista de elementos con el resultado que necesitan en algún lugar en el medio de la lista.

Podría seguir adelante e implementar mi propio procedimiento de eliminación de palabras irrelevantes, pero parece algo que la indexación de texto completo debería poder manejar.

Agradecido por cualquier ayuda!

Jamie

Respuestas a la pregunta(4)

Su respuesta a la pregunta