Configurar e gerenciar palavras irrelevantes e listas de palavras irrelevantes (stoplists) para pesquisa de texto completo

Aplica-se a:SQL ServerBanco de Dados SQL do AzureInstância Gerenciada de SQL do Azure

Para evitar que um índice em texto completo fique inchado, o Mecanismo de Banco de Dados do SQL Server possui um mecanismo que descarta strings comuns que não ajudam na busca. Essas cadeias de caracteres descartadas são chamadas de palavras irrelevantes(stopwords). Durante a criação do índice, o Mecanismo de Texto Completo omite as palavras irrelevantes do índice de texto completo. Isso significa que consultas em texto completo não buscam em palavras de parada.

Prazo Description
Palavras de parada Uma palavra irrelevante pode ser uma palavra com significado em um idioma específico. Por exemplo, na língua inglesa, palavras como a, and, is, e the são deixadas de fora do índice de texto completo, pois sabe-se que são inúteis para uma busca. Uma stopword também pode ser um token que não tem significado linguístico.
Listas de exclusão As palavras irrelevantes são gerenciadas nos bancos de dados por meio de objetos chamados listas de palavras irrelevantes (stoplists). Uma stoplist é uma lista de stopwords que, quando associada a um índice de texto completo, é aplicada a consultas de texto completo nesse índice.

Usar uma lista de exclusão existente

Você pode usar uma lista de palavras irrelevantes existente destas maneiras:

  • Use a lista de exclusão fornecida pelo sistema no banco de dados. O Mecanismo de Banco de Dados vem com uma lista de parada do sistema que contém as palavras de parada mais comumente usadas para cada idioma suportado, ou seja, para cada idioma associado por padrão a determinados quebradores de palavras. É possível copiar a lista de palavras irrelevantes do sistema e personalizar sua cópia adicionando e removendo palavras irrelevantes.

    A lista de parada do sistema está instalada no Banco de Dados de Recursos.

  • Use uma lista de palavras irrelevantes personalizada existente de outro banco de dados na instância de servidor atual e, em seguida, adicione ou remova palavras irrelevantes conforme necessário.

Criar uma nova lista de bloqueio

Você pode criar uma lista de paradas usando Transact-SQL (T-SQL) ou SQL Server Management Studio (SSMS).

Criar uma nova lista de palavras irrelevantes com Transact-SQL

Use CREATE FULLTEXT STOPLIST.

Criar uma nova lista de palavras irrelevantes com o SQL Server Management Studio

  1. No Pesquisador de Objetos, expanda o servidor.

  2. Expanda Bancos de Dados e, em seguida, expanda o banco de dados no qual você deseja criar a lista de palavras irrelevantes de texto completo.

  3. Expanda Armazenamento e clique com o botão direito do mouse em Lista de Palavras Irrelevantes de Texto Completo.

  4. Selecione Nova Lista de Palavras Irrelevantes de Texto Completo.

  5. Insira o nome da sua nova lista de palavras irrelevantes.

  6. Se desejar, especifique outra pessoa como proprietária da lista de exclusão.

  7. Selecione uma das seguintes opções de criação de lista de palavras irrelevantes:

    • Criar uma lista de exclusão vazia

    • Criar com base na lista de palavras irrelevantes do sistema

    • Criar com base em uma lista de palavras irrelevantes existente

    Para obter mais informações, veja Nova lista de palavras irrelevantes de texto completo (Página Geral).

  8. Selecione OK.

Usar uma lista de exclusão em consultas de texto completo

Para usar uma lista de palavras irrelevantes em consultas, é necessário associá-la a um índice de texto completo. Você pode anexar uma lista de palavras irrelevantes a um índice de texto completo ao criá-lo ou pode alterá-lo posteriormente para adicionar uma lista de palavras irrelevantes.

Tarefa Método
Crie um índice de texto completo e associe-o a uma stoplist Use CREATE FULLTEXT INDEX.
Associar uma lista de palavras irrelevantes a um índice de texto completo ou desassociá-la dele Use ALTER FULLTEXT INDEX.

Alterar as palavras irrelevantes em uma lista de palavras irrelevantes

É possível modificar as palavras irrelevantes em uma lista de palavras irrelevantes usando o Transact-SQL (T-SQL) ou SQL Server Management Studio (SSMS).

Adicionar ou remover palavras irrelevantes de uma lista de palavras irrelevantes com Transact-SQL

Use ALTER FULLTEXT STOPLIST.

Adicionar palavras irrelevantes a uma lista de palavras irrelevantes com o SQL Server Management Studio ou removê-las dela

  1. No Pesquisador de Objetos, expanda o servidor.

  2. Expanda Bancos de Dadose, em seguida, expanda o banco de dados.

  3. Expanda Armazenamento e, depois, selecione Listas de Palavras Irrelevantes de Texto Completo.

  4. Clique com o botão direito do mouse na lista de palavras irrelevantes cujas propriedades você deseja alterar e selecione Propriedades.

  5. Na caixa de diálogo Propriedades da Lista de Palavras Irrelevantes de Texto Completo :

    1. Na caixa de listagem Ação , selecione uma das seguintes ações: Adicionar palavra irrelevante, Excluir palavra irrelevante, Excluir todas as palavras irrelevantesou Limpar lista de palavras irrelevantes.

    2. Se o campo de texto Stopword estiver habilitado para a ação selecionada, insira uma única stopword. Esta palavra de parada deve ser única. Isso não pode já constar na lista de bloqueio do idioma selecionado.

    3. Se a caixa de listagem Idioma de texto completo estiver habilitada para a ação selecionada, selecione um idioma.

  6. Selecione OK.

Gerenciar listas de exclusão e seu uso

Use os métodos a seguir para visualizar e gerenciar listas de palavras irrelevantes.

Tarefa Método
Exibir todas as palavras irrelevantes em uma lista de palavras irrelevantes Use sys.fulltext_stopwords.
Obtenha informações sobre todas as listas de paragens no banco de dados atual Use sys.fulltext_stoplists e sys.fulltext_stopwords.
Exibir o resultado da geração de tokens de um separador de palavras, dicionário de sinônimos e combinação de lista de palavras irrelevantes Use sys.dm_fts_parser.
Suprimir uma mensagem de erro se as palavras irrelevantes causarem falha em uma operação booliana em uma consulta de texto completo Usar Configuração do servidor: transformar palavras de ruído.

Mais informações sobre a posição de palavras irrelevantes

Embora o índice de texto completo ignore a inclusão de *stopwords*, ele leva em consideração a posição delas. Por exemplo, considere a frase, Instructions are applicable to these Adventure Works Cycles models. A tabela a seguir descreve a posição das palavras na frase:

Word Posição
Instructions 1
are 2
applicable 3
to 4
these 5
Adventure 6
Works 7
Cycles 8
models 9

As palavras irrelevantes are, to e these, que estão nas posições 2, 4 e 5, são omitidas do índice de texto completo. Contudo, sua informação posicional é mantida, sem afetar a posição das outras palavras da frase.

Atualizar palavras de ruído no SQL Server 2005

As palavras de ruído do SQL Server 2005 (9.x) foram substituídas por palavras irrelevantes. Quando um banco de dados é atualizado do SQL Server 2005 (9.x), os arquivos de palavras irrelevantes não são mais usados. No entanto, os arquivos de palavras de ruído ficam armazenados na pasta FTDATA\FTNoiseThesaurusBak, e você poderá usá-los posteriormente quando atualizar ou criar as listas de palavras irrelevantes correspondentes. Para obter informações sobre como atualizar arquivos de palavras de ruído para listas de palavras irrelevantes, consulte Atualizar pesquisa de texto completo.