Pregunta

Estoy usando CONTAINSTABLE a buscar dos columnas de la tabla. Una vez que la búsqueda contiene pequeñas palabras como 'la' 'para' 'a' los Búsqueda sin resultados, incluso cuando están realmente presentes en la columna.

Ejemplo rápido. Columna siendo buscadas contiene el texto. 'El sistema necesita ser actualizado'

siguiente devuelve 0 filas SQL

SELECT     * FROM Incident WHERE (TicketNumber IN (
SELECT TicketNumber FROM         [Action] FT_TBL INNER JOIN
CONTAINSTABLE(Action, Text, '"system" AND "needs" AND "to" AND "upgraded" AND NOT "Search Summary"') KEY_TBL ON FT_TBL.ID = KEY_TBL.[KEY]
UNION
SELECT TicketNumber FROM [Incident] FT_TBL INNER JOIN
CONTAINSTABLE(Incident, Subject, '"system" AND "needs" AND "to" AND "upgraded"') AS KEY_TBL ON FT_TBL.TicketNumber = KEY_TBL.[KEY]))

Una vez 'a' se omite funciona bien:

SELECT     * FROM Incident WHERE (TicketNumber IN (
SELECT TicketNumber FROM         [Action] FT_TBL INNER JOIN
CONTAINSTABLE(Action, Text, '"system" AND "needs" AND "upgraded" AND NOT "Search Summary"') KEY_TBL ON FT_TBL.ID = KEY_TBL.[KEY]
UNION
SELECT TicketNumber FROM [Incident] FT_TBL INNER JOIN
CONTAINSTABLE(Incident, Subject, '"system" AND "needs" AND "upgraded"') AS KEY_TBL ON FT_TBL.TicketNumber = KEY_TBL.[KEY]))

¿Cómo puede CONTAINSTABLE ser utilizados con estas palabras más pequeñas, o deben ser dejados de lado por completo? Si esas palabras más pequeñas son realmente significativo en la búsqueda, ¿cómo pueden ser incluidos en la búsqueda?

¿Fue útil?

Solución

Estas no son palabras "pequeños", son palabras comunes que se encuentran en la lista de bloqueo. Ellos son ignorados.

palabras vacías y Stoplists en BOL.

Otros consejos

el final de mi respuesta en la creación de y la costumbre de acoplamiento texto completo stoplist a partir de un vacío. Lo comprobé y con una vacía sus obras de consulta con "a", "será", "la", "para", etc.

Actualización:

SQL Server 2005 debe tener MSSQL \ FTData \ noiseENG.txt.
Yo recomendaría para ver las respuestas a la pregunta "Palabras de ruido en SQL Server 2005 Texto completo Búsqueda "

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top