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

Aplica-se a: SQL Server Banco de Dados SQL do Azure

Para evitar que os índices de texto completo fiquem lotados, o SQL Server dispõe de um mecanismo que descarta cadeias de caracteres que ocorrem com frequência e que não auxiliam nas pesquisas. 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. Em outras palavras, as consultas de texto completo não pesquisarão palavras irrelevantes.

Palavras irrelevantes. Uma palavra irrelevante pode ser uma palavra com significado em um idioma específico. Por exemplo, em inglês, palavras como "a", "and", "is" e "the" não são incluídas no índice de texto completo porque são consideradas inúteis em uma pesquisa. Uma palavra irrelevante também pode ser um token que não tem significado linguístico.

Listas de palavras irrelevantes. As palavras irrelevantes são gerenciadas nos bancos de dados por meio de objetos denominados listas de palavras irrelevantes (stoplists). Uma lista de palavras irrelevantes (stoplist) é uma lista que, quando associada a um índice de texto completo, é aplicada às consultas de texto completo desse índice.

Usar uma lista de palavras irrelevantes existente

É possível usar uma lista de palavras irrelevantes existente das seguintes maneiras:

  • Use a lista de palavras irrelevantes fornecida pelo sistema no banco de dados. O SQL Server é fornecido com uma lista de palavras irrelevantes do sistema que contém as palavras irrelevantes mais usadas em cada idioma com suporte, ou seja, em cada idioma associado a determinados separadores de palavra por padrão. É possível copiar a lista de palavras irrelevantes do sistema e personalizar sua cópia adicionando e removendo palavras irrelevantes.

    A lista de palavras irrelevantes do sistema é instalada no banco de dados Resource .

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

Criar uma nova lista de palavras irrelevantes

Criar uma nova lista de palavras irrelevantes com Transact-SQL

Use CREATE FULLTEXT STOPLIST.

Criar uma nova lista de palavras irrelevantes com o Management Studio

  1. No Pesquisador de Objetos, expanda o servidor.

  2. Expanda Bancos de Dadose o banco de dados no qual você deseja criar a lista de palavras irrelevantes (stoplist) de texto completo.

  3. Expanda Armazenamentoe 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. Opcionalmente, especifique outra pessoa como o proprietário da lista de palavras irrelevantes.

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

    • Criar uma lista de palavras irrelevantes 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 palavras irrelevantes 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.

Criar um índice de texto completo e associar uma lista de palavras irrelevantes a ele

Usar CREATE FULLTEXT INDEX (Transact-SQL).

Associar uma lista de palavras irrelevantes a um índice de texto completo ou desassociá-la dele

Use ALTER FULLTEXT INDEX (Transact-SQL).

Alterar as palavras irrelevantes em uma lista de palavras irrelevantes

Adicionar palavras irrelevantes a uma lista de palavras irrelevantes com Transact-SQL ou removê-las dela

Usar ALTER FULLTEXT STOPLIST (Transact-SQL).

Adicionar palavras irrelevantes a uma lista de palavras irrelevantes com o 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 Armazenamentoe, 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 a caixa de texto Palavra irrelevante estiver habilitada para a ação selecionada, insira uma única palavra irrelevante. Essa palavra irrelevante deve ser exclusiva; ou seja, ainda não deve estar na lista de palavras irrelevantes para o 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 palavras irrelevantes e seu uso

Exibir todas as palavras irrelevantes em uma lista de palavras irrelevantes

Usar sys.fulltext_stopwords (Transact-SQL).

Obter informações sobre todas as listas de palavras irrelevantes no banco de dados atual

Use sys.fulltext_stoplists (Transact-SQL) e sys.fulltext_stopwords (Transact-SQL).

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 (Transact-SQL).

Suprimir uma mensagem de erro se as palavras irrelevantes causarem falha em uma operação booliana em uma consulta de texto completo

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

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

Embora as palavras irrelevantes sejam ignoradas, o índice de texto completo leva em conta sua posição. 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 Cargo
Instruções 1
are 2
applicable 3
até 4
these 5
Adventure 6
Works 7
Cycles 8
modelos 9

As palavras irrelevantes "are", "to" e "these", que estão nas posições 2, 4 e 5, são excluídas 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 no SQL Server 2005 (9.x), os arquivos de palavra de ruído 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 ao atualizar ou compilar as listas de palavras irrelevantes (stoplists) 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.