Share via


transform noise words (opción)

Utilice la opción de configuración del servidor transform noise words para suprimir un mensaje de error si palabras irrelevantes hacen que una operación booleana en una consulta de texto completo no devuelva filas. Esta opción es útil para las consultas de texto completo que utilizan el predicado CONTAINS en que las operaciones booleanas o las operaciones NEAR incluyen palabras irrelevantes. En la siguiente tabla se indican los valores posibles.

Valor

Descripción

0

Las palabras irrelevantes no se transforman. Cuando una consulta de texto completo contiene palabras irrelevantes, la consulta no devuelve filas y SQL Server genera una advertencia. Este es el comportamiento predeterminado.

NotaNota
La advertencia es una advertencia en tiempo de ejecución. Por lo tanto, si no se ejecuta la cláusula de texto completo de la consulta, no se generará la advertencia. En una consulta local solo se generará una advertencia, incluso si existen varias cláusulas de consulta de texto completo. En una consulta remota es posible que el servidor vinculado no retransmita el error; por tanto, tampoco se generaría la advertencia.

1

Las palabras irrelevantes se transforman. Se omiten y se evalúa el resto de la consulta.

Si se especifican palabras irrelevantes en un término de proximidad, SQL Server las quita. Por ejemplo, la palabra irrelevante is se quita de CONTAINS(<column_name>, 'NEAR (hello,is,goodbye)'), transformando la consulta de búsqueda en CONTAINS(<column_name>, 'NEAR(hello,goodbye)'). Observe que CONTAINS(<column_name>, 'NEAR(hello,is)') se transformaría simplemente en CONTAINS(<column_name>, hello) porque solo hay un término de búsqueda válido.

Efectos de la configuración de transform noise words

En esta sección se muestra el comportamiento de las consultas que contienen una palabra irrelevante, "the", en la configuración alternativa de transform noise words. Se supone que las cadenas de consulta de texto completo de ejemplo se ejecutan frente a una fila de la tabla que contiene los datos siguientes: [1, "The black cat"].

[!NOTA]

Todos los escenarios de ese tipo pueden generar una advertencia de palabra irrelevante.

  • Con transform noise words establecido en 0:

    Cadena de consulta

    Resultado

    "cat" AND "the"

    No se producen resultados (el comportamiento es el mismo para "the" AND "cat")

    "cat" NEAR "the"

    No se producen resultados (el comportamiento es el mismo para "the" AND "cat")

    "the" AND NOT "black"

    No se producen resultados

    "black" AND NOT "the"

    No se producen resultados

  • Con transform noise words establecido en 1:

    Cadena de consulta

    Resultado

    "cat" AND "the"

    Acierto para la fila con identificador 1

    "cat" NEAR "the"

    Acierto para la fila con identificador 1

    "the" AND NOT "black"

    No se producen resultados

    "black" AND NOT "the"

    Acierto para la fila con identificador 1

Ejemplo

En el siguiente ejemplo se establece transform noise words en 1.

sp_configure 'show advanced options', 1;
RECONFIGURE;
GO
sp_configure 'transform noise words', 1;
RECONFIGURE;
GO