Compartir a través de


Configuración del servidor: transformar palabras ruidosas

Se aplica a:SQL Server

Use la transform noise words opción de configuración del servidor para suprimir un mensaje de error si las palabras vacías (también conocidas como stopwords) provocan que una operación booleana en una consulta de texto completo devuelva cero filas. Esta opción es útil para las consultas de texto completo que utilizan el predicado CONTAINS en el que las operaciones booleanas o las operaciones NEAR incluyen palabras irrelevantes. En la siguiente tabla se describen los valores posibles.

Importancia Descripción
0 (predeterminado) Las palabras irrelevantes (o palabras vacías) no se transforman. Cuando una consulta de texto completo contiene palabras irrelevantes, la consulta devuelve cero filas y SQL Server produce una advertencia.

Nota: 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 genera 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, puede que tampoco se genere la advertencia.
1 Las palabras irrelevantes se transforman. Se omiten y se evalúa el resto de la consulta.

Si las palabras irrelevantes se especifican 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)'). Nota:CONTAINS(<column_name>, 'NEAR(hello,is)') se transformaría en simplemente CONTAINS(<column_name>, hello) porque solo hay un término de búsqueda válido.

Efectos de la configuración de palabras de ruido de transformación

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 en una fila de tabla que contiene los datos siguientes: [1, "The black cat"].

Nota

Todos esos escenarios pueden generar una advertencia por palabras irrelevantes.

  • Con Transformar palabras irrelevantes establecido en 0:

    Cadena de consulta Resultado
    cat Y the Sin resultados (el comportamiento es el mismo para the AND cat).
    cat CERCA the Sin resultados (el comportamiento es el mismo para the NEAR cat).
    the Y NO black No hay resultados
    black Y NO the No hay resultados
  • Con Transformar palabras irrelevantes establecido en 1:

    Cadena de consulta Resultado
    cat Y the Acierto para la fila con identificador 1
    cat CERCA the Acierto para la fila con identificador 1
    the Y NO black No hay resultados
    black Y NO the Acierto para la fila con identificador 1

Ejemplos

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

EXECUTE sp_configure 'show advanced options', 1;
RECONFIGURE;
GO

EXECUTE sp_configure 'transform noise words', 1;
RECONFIGURE;
GO