Partilhar via


Opção de configuração de servidor para transformar palavras de ruído

Use a opção de configuração de servidor transform noise words para suprimir uma mensagem de erro se palavras de ruído, ou seja, palavras irrelevantes, levarem uma operação booliana em uma consulta de texto completo a retornar zero linhas. Essa opção é útil para consultas de texto completo que usam o predicado CONTAINS em que as operações boolianas ou operações NEAR incluem palavras de ruído. Os valores possíveis são descritos na tabela a seguir.

Valor

Descrição

0

As palavras de ruído (ou palavras irrelevantes) não são transformadas. Quando uma consulta de texto completo contiver palavras de ruído, a consulta não retornará nenhuma linha e o SQL Server gerará um aviso. Esse é o comportamento padrão.

ObservaçãoObservação

O aviso é um aviso em tempo de execução. Portanto, se a cláusula de texto completo na consulta não for executada, o aviso não será gerado. Para uma consulta local, apenas um aviso é gerado, mesmo quando há várias cláusulas de consulta de texto completo. Para uma consulta remota, o servidor vinculado pode não retransmitir o erro; portanto, o aviso pode não ser gerado.

1

As palavras de ruído (ou palavras irrelevantes) são transformadas. Elas são ignoradas e o resto da consulta é avaliado.

Se forem especificadas palavras de ruído em uma condição de proximidade, o SQL Server as removerá. Por exemplo, a palavra de ruído is é removida de CONTAINS(<column_name>, 'NEAR (hello,is,goodbye)'), transformando a consulta de pesquisa em CONTAINS(<column_name>, 'NEAR(hello,goodbye)'). Observe que CONTAINS(<column_name>, 'NEAR(hello,is)') seria transformada simplesmente em CONTAINS(<column_name>, hello) porque há apenas um termo de pesquisa válido.

Efeitos da configuração transform noise words

Esta seção ilustra o comportamento de consultas que contêm uma palavra de ruído", the", nas configurações alternativas de transform noise words. Parte-se do pressuposto de que as cadeias de consulta de texto completo de exemplo são executadas em uma linha de tabela que contém os seguintes dados: [1, "The black cat"].

ObservaçãoObservação

Todos esses cenários podem gerar um aviso de palavra de ruído.

  • Com transform noise words definido para 0:

    Cadeia de consulta

    Resultado

    "cat" AND "the"

    Nenhum resultado (O comportamento é o mesmo para "the" AND "cat".)

    "cat" NEAR "the"

    Nenhum resultado (O comportamento é o mesmo para "the" NEAR "cat".)

    "the" AND NOT "black"

    Nenhum resultado

    "black" AND NOT "the"

    Nenhum resultado

  • Com transform noise words definido como 1:

    Cadeia de caracteres de consulta

    Resultado

    "cat" AND "the"

    Ocorrência da linha com ID 1

    "cat" NEAR "the"

    Ocorrência da linha com ID 1

    "the" AND NOT "black"

    Nenhum resultado

    "black" AND NOT "the"

    Ocorrência da linha com ID 1

Exemplo

O exemplo a seguir define transform noise words como 1.

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

Consulte também

Referência

CONTAINS (Transact-SQL)

Conceitos

Opções de configuração de servidor