Partilhar via


Configurar e gerir palavras irrelevantes e listas de exclusão para a pesquisa Full-Text

Aplica-se a:SQL ServerBanco de Dados SQL do Azure

Para evitar que um índice de texto completo fique inchado, o SQL Server tem um mecanismo que descarta cadeias de caracteres que ocorrem com frequência e que não ajudam na pesquisa. Essas strings descartadas são chamadas stopwords. Durante a criação do índice, o mecanismo de Full-Text omite palavras irrelevantes do índice de texto completo. Isso significa que as consultas de texto completo não pesquisarão em palavras-chave.

Palavras-vazias. Uma palavra de paragem pode ser uma palavra com significado numa língua específica. Por exemplo, na língua inglesa, palavras como "a", "and", "is" e "the" são deixadas de fora do índice de texto completo, uma vez que são conhecidas por serem inúteis para uma pesquisa. Uma palavra parada também pode ser um símbolo que não tem significado linguístico.

Listas de exclusão. As stopwords são geridas em bases de dados com objetos chamados stoplists. Uma lista de palavras irrelevantes é uma lista de stopwords que, quando associada a um índice de texto integral, é aplicada a consultas de texto integral nesse índice.

Usar uma lista de paradas existente

Você pode usar uma lista de paradas existente das seguintes maneiras:

  • Use a lista de paradas fornecida pelo sistema no banco de dados. O SQL Server é fornecido com uma lista de paradas do sistema que contém as palavras de parada mais usadas para cada idioma com suporte, ou seja, para cada idioma associado a determinados separadores de palavras por padrão. Você pode copiar a lista de paradas do sistema e personalizar sua cópia adicionando e removendo palavras de parada.

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

  • Use uma lista de paradas personalizada existente de outro banco de dados na instância do servidor atual e, em seguida, adicione ou solte palavras de parada conforme apropriado.

Criar uma nova lista de paradas

Crie uma nova lista de paradas com Transact-SQL

Utilize CREATE FULLTEXT STOPLIST.

Criar uma nova lista de paradas com o Management Studio

  1. No Pesquisador de Objetos, expanda o servidor.

  2. Expanda Bancos de Dadose, em seguida, expanda o banco de dados no qual você deseja criar a lista de paradas de texto completo.

  3. Expanda Storagee, de seguida, clique com o botão direito do rato em Full-Text Stoplists.

  4. Selecione Nova Full-Text lista de paradas.

  5. Introduza o nome da sua nova lista de paragem.

  6. Opcionalmente, especifique outra pessoa como o proprietário da lista de paradas.

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

    • Criar uma lista de paradas vazia

    • Criar a partir da lista de paradas do sistema

    • Criar a partir de uma lista de paradas de texto completo existente

    Para obter mais informações, consulte New Full-Text Stoplist (Página Geral).

  8. Selecione OK.

Usar uma lista de paradas em consultas de texto completo

Para usar uma lista de paradas em consultas, você deve associá-la a um índice de texto completo. Você pode anexar uma lista de paradas a um índice de texto completo ao criar o índice ou pode alterar o índice posteriormente para adicionar uma lista de interrupção.

Crie um índice de texto completo e associe uma lista de paradas a ele

Utilize CRIAR ÍNDICE DE TEXTO COMPLETO (Transact-SQL).

Associar ou desassociar uma lista de paradas a um índice de texto completo existente

Utilizar ALTERAR ÍNDICE DE TEXTO COMPLETO (Transact-SQL).

Alterar as palavras paradas em uma lista de paradas

Adicionar ou soltar palavras de parada de uma lista de paradas com Transact-SQL

Use ALTER FULLTEXT STOPLIST (Transact-SQL).

Adicionar ou soltar palavras de parada de uma lista de paradas com o Management Studio

  1. No Pesquisador de Objetos, expanda o servidor.

  2. Expanda Bancos de Dadose, em seguida, expanda essa base de dados.

  3. Expanda Storagee, em seguida, selecione Listas de paradas de texto completo.

  4. Clique com o botão direito do rato na stoplist cujas propriedades pretende alterar e selecione Propriedades.

  5. Na caixa de diálogo Full-Text Propriedades da Lista de Paradas:

    1. Na caixa de listagem de Ação , selecione uma das seguintes ações: Adicionar stopword, Excluir stopword, Excluir todas as stopwordsou Limpar lista de stopwords.

    2. Se a caixa de texto Stopword estiver habilitada para a ação selecionada, digite uma única palavra de parada. Esta palavra de paragem deve ser única; ou seja, ainda não está nesta lista de palavras de paragem para o idioma que selecionar.

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

  6. Selecione OK.

Gerir listas de paragem e a sua utilização

Ver todas as palavras de paragem numa lista de paragem

Use sys.fulltext_stopwords (Transact-SQL).

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

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

Exibir o resultado de tokenização de uma combinação de separador de palavras, dicionário de sinônimos e lista de paradas

Utilize sys.dm_fts_parser (Transact-SQL).

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

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

Mais informações sobre a posição da stopword

Embora ignore a inclusão de palavras paradas, o índice de texto completo leva em conta sua posição. Por exemplo, considere a frase "As instruções são aplicáveis a estes modelos de Ciclos da Adventure Works". A tabela a seguir mostra a posição das palavras na frase:

Palavra Posição
Instruções 1
são 2
aplicável 3
Para 4
estes 5
Aventura 6
Obras 7
Ciclos 8
modelos 9

As stopwords "são", "para" e "estes", que estão nas posições 2, 4 e 5, são deixadas de fora do índice de texto completo. No entanto, a sua informação posicional é mantida, deixando assim a posição das outras palavras na frase inalterada.

Atualizar palavras de ruído do SQL Server 2005

As palavras de ruído do SQL Server 2005 (9.x) foram substituídas por stopwords. Quando um banco de dados é atualizado do SQL Server 2005 (9.x), os arquivos de palavras de ruído não são mais usados. No entanto, os arquivos noise-word são armazenados na pasta FTDATA\ FTNoiseThesaurusBak, e você pode usá-los mais tarde ao atualizar ou construir as listas de paradas correspondentes. Para obter informações sobre como atualizar arquivos de palavras não significativas para listas de exclusão, consulte Atualização Full-Text Pesquisa.