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.
|
||
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çã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