Partilhar via


Configuração do servidor: transformar palavras desnecessárias

Aplica-se a:SQL Server

Use a opção de configuração de servidor transform noise words para suprimir uma mensagem de erro, caso palavras inúteis (também conhecidas como palavras de parada) causem uma operação booleana em uma consulta de texto completo a retornar zero linhas. Esta opção é útil para consultas de texto completo que usam o predicado CONTAINS no qual operações booleanas ou operações NEAR incluem palavras de ruído. Os valores possíveis são descritos na tabela a seguir.

Valor Descrição
0 (padrão) As palavras sonoras (ou palavras paradas) não são transformadas. Quando uma consulta de texto completo contém palavras de ruído, a consulta retorna zero linhas e o SQL Server gera um aviso.

Observaçã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 levantado.
1 As palavras irrelevantes (ou palavras de paragem) são transformadas. Eles são ignorados e o restante da consulta é avaliado.

Se as palavras de ruído forem especificadas num termo de proximidade, o SQL Server irá removê-las. 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)'). Observação:CONTAINS(<column_name>, 'NEAR(hello,is)') seria transformado em simplesmente CONTAINS(<column_name>, hello) porque há apenas um termo de pesquisa válido.

Efeitos da configuração de palavras de ruído de transformação

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

Observação

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

  • Com palavras de ruído de transformação definidas como 0:

    string de consulta Resultado
    cat E AINDA the Sem resultados (O comportamento é o mesmo para the E cat.)
    cat PERTO the Sem resultados (O comportamento é o mesmo para the NEAR cat.)
    the E NÃO black Não há resultados
    black E NÃO the Não há resultados
  • Com palavras de ruído de transformação definidas como 1:

    string de consulta Resultado
    cat E AINDA the Selecione a linha com ID 1
    cat PERTO the Selecione a linha com ID 1
    the E NÃO black Não há resultados
    black E NÃO the Selecione a linha com ID 1

Exemplos

O exemplo a seguir define transform noise words como 1.

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

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