Configurar e gerenciar palavras irrelevantes e listas de palavras irrelevantes 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 Palavras de parada são gerenciadas em bancos de dados usando objetos chamados listas de parada. 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 stoplist personalizada existente em outro banco de dados na instância atual do servidor e, em seguida, adicione ou remova palavras irrelevantes conforme apropriado.

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.

Crie uma nova lista de paragens 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

Você pode modificar as palavras de parada em uma lista de paradas usando 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.

Adicione ou elimine palavras de parada de uma lista de parada com o SQL Server Management Studio

  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 stops.

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 Use a configuração do servidor: transforme palavras de ruído.

Mais informações sobre a posição da palavra de chamada

Embora o índice de texto completo ignore a inclusão das palavras irrelevantes, ele considera 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 irrelevantes do SQL Server 2005 (9.x) são substituídas por palavras de parada. 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 são armazenados na pasta FTDATA\FTNoiseThesaurusBak, e você pode usá-los posteriormente ao atualizar ou criar as listas de parada 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.