Configuração do Thesaurus

No SQL Server, as consultas de texto completo podem procurar sinônimos de termos especificados pelo usuário através do uso de um dicionário de sinônimos. Um SQL Server dicionário de sinônimos define um conjunto de sinônimos para um idioma específico. Os administradores de sistema podem definir duas formas de sinônimos: conjuntos de expansão e de substituição. Ao desenvolver um dicionário de sinônimos personalizado para seus dados de texto completo, você pode efetivamente ampliar o escopo de consultas de texto completo baseadas nesses dados. A correspondência com o dicionário de sinônimos só ocorre para consultas CONTAINS e CONTAINSTABLE que especificam a cláusula FORMSOF THESAURUS e para consultas FREETEXT e FREETEXTABLE.

Para que as consultas de pesquisa de texto completo na sua instância de servidor possam procurar sinônimos em um determinado idioma, defina mapeamentos do dicionário de sinônimos (sinônimos) para esse idioma. Cada dicionário deve ser configurado manualmente para definir o seguinte:

  • Configuração de diacríticos

    Em um determinado dicionário de sinônimos, todos os padrões de pesquisa diferenciam ou não diferenciam marcas diacríticas, como um til (~), acento agudo (´) ou trema (¨), ou seja, eles diferenciam acentos ou não diferenciam acentos. Por exemplo, vamos supor que você especificou que o padrão "café" deve ser substituído por outros padrões em uma consulta de texto completo. Se o dicionário de sinônimos não diferenciar acentos, a pesquisa de texto completo substituirá os padrões "café" e "cafe". Se o dicionário de sinônimos diferenciar acentos, a pesquisa de texto completo substituirá somente o padrão "café". Por padrão, um dicionário de sinônimos não diferencia acentos.

    ObservaçãoObservação

    Para obter mais informações sobre sinais diacríticos, consulte Diacritical Mark (em inglês) na Enciclopédia Encarta MSN.

  • Conjunto de expansão

    Um conjunto de expansão contém um grupo de sinônimos, como "escritor", "autor" e "jornalista", que são substituídos um pelo outro por uma consulta de texto completo. As consultas que contêm uma correspondência para qualquer sinônimo do conjunto de expansão são expandidas para incluir todos os outros sinônimos do conjunto de expansão.

    Para obter mais informações, consulte "Estrutura XML de um conjunto de expansão", mais adiante neste tópico.

  • Conjunto de substituição

    Um conjunto de substituição contém um padrão de texto a ser substituído por um conjunto de substituição. Para ver um exemplo, consulte a seção "Estrutura XML de um conjunto de substituição", mais adiante neste tópico.

ObservaçãoObservação

Para saber mais sobre restrições e recomendações relacionadas a um arquivo de dicionário de sinônimos, consulte Como editar um arquivo de dicionário de sinônimos (Pesquisa de Texto Completo).

O SQL Server oferece um conjunto de arquivos XML de dicionário de sinônimos, um para cada idioma suportado. Esses arquivos estão basicamente vazios. Eles contêm apenas a estrutura XML de alto nível que é comum a todos os dicionários de sinônimos do SQL Server e um dicionário de sinônimos de exemplo comentado.

Este tópico contém informações para ajudá-lo a executar essa tarefa, como segue:

  • Conteúdo inicial dos arquivos de dicionário de sinônimos

  • Localização dos arquivos de dicionário de sinônimos

  • Como as consultas usam arquivos de dicionário de sinônimos

  • Noções básicas sobre a estrutura de um arquivo de dicionário de sinônimos

  • Trabalhando com arquivos de dicionário de sinônimos

Conteúdo inicial dos arquivos de dicionário de sinônimos

Todos os arquivos de dicionário de sinônimos fornecidos com o SQL Server 2008 contêm o seguinte código XML:

<XML ID="Microsoft Search Thesaurus">

<!--  Commented out

    <thesaurus xmlns="x-schema:tsSchema.xml">
<diacritics_sensitive>0</diacritics_sensitive>
        <expansion>
            <sub>Internet Explorer</sub>
            <sub>IE</sub>
            <sub>IE5</sub>
        </expansion>
        <replacement>
            <pat>NT5</pat>
            <pat>W2K</pat>
            <sub>Windows 2000</sub>
        </replacement>
        <expansion>
            <sub>run</sub>
            <sub>jog</sub>
        </expansion>
    </thesaurus>
-->
</XML>

[Início]

Localização dos arquivos de dicionário de sinônimos

A localização padrão dos arquivos de dicionário de sinônimos é esta:

<caminho_dos_arquivos_de_dados_do_SQL_Server>\MSSQL10_50.MSSQLSERVER\MSSQL\FTDATA\

Esse local padrão contém os seguintes arquivos:

  • Arquivos de dicionário de sinônimos específicos de um idioma

    Durante a instalação, arquivos vazios do dicionário de sinônimos são instalados no local indicado acima. Um arquivo à parte é fornecido para cada idioma suportado. Um administrador de sistema pode personalizar esses arquivos.

    Os nomes de arquivo padrão dos arquivos de dicionário de sinônimos usam o seguinte formato:

    'ts' + <abreviação de linguagem de três letras> + '.xml'

    O nome do arquivo do dicionário de sinônimos de um idioma é especificado no Registro no seguinte valor: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\<nome-da-instância>\MSSearch\<abreviação-do-idioma>.

  • O arquivo de dicionário de sinônimos global

    Um arquivo de dicionário de sinônimos global vazio, tsGlobal.xml.

Você pode alterar a localização e os nomes de um arquivo de dicionário de sinônimos mudando a respectiva chave do Registro. Para cada idioma, a localização do arquivo de dicionário de sinônimos é especificada no seguinte valor do Registro:

HKLM/SOFTWARE/Microsoft/Microsoft SQL Server/<nome da instância>/MSSearch/Language/<abreviação-do-idioma>/TsaurusFile

O arquivo de dicionário de sinônimos global corresponde ao idioma Neutro com LCID 0. Esse valor só pode ser alterado por administradores.

[Início]

Como as consultas usam arquivos de dicionário de sinônimos

Uma consulta ao dicionário de sinônimos usa um dicionário de sinônimos específico de um idioma e o dicionário de sinônimos global. Primeiro, a consulta pesquisa pelo arquivo específico do idioma e depois o carrega para ser processado (a menos que já esteja carregado). A consulta é expandida para incluir os sinônimos específicos do idioma definidos pelos conjuntos de expansão e regras de substituição no arquivo do dicionário de sinônimos. Essas etapas são repetidas para o dicionário de sinônimos global. Entretanto, se um termo já tiver correspondências no arquivo de dicionário de sinônimos específico do idioma, ele não terá correspondentes no dicionário de sinônimos global.

[Início]

Noções básicas sobre a estrutura de um arquivo de dicionário de sinônimos

Cada arquivo de dicionário de sinônimos define um contêiner XML cujo ID é Microsoft Search Thesaurus, além de um comentário, <!-- … -->, que contém um dicionário de sinônimos de exemplo. O dicionário de sinônimos é definido em um elemento <thesaurus> que contém amostras dos elementos filho que definem a configuração de diacríticos, os conjuntos de expansão e os conjuntos de substituição, como segue:

  • Estrutura XML da configuração de diacríticos

    A configuração de diacríticos de um dicionário de sinônimos é especificada em um único elemento <diacritics_sensitive>. Esse elemento contém um valor de inteiro que controla a distinção de acentos, da seguinte maneira:

    Configuração de diacríticos

    Valor

    XML

    Não diferencia acentos

    0

    <diacritics_sensitive>0</diacritics_sensitive>

    Diferencia acentos

    1

    <diacritics_sensitive>1</diacritics_sensitive>

    ObservaçãoObservação

    Essa configuração só pode ser aplicada uma vez no arquivo e é válida para todos os padrões de pesquisa do arquivo. Essa configuração não pode ser especificada para padrões individuais.

  • Estrutura XML de um conjunto de expansão

    Cada conjunto de expansão é incluído em um elemento <expansion>. Nesse elemento, você especifica uma ou mais substituições em um elemento <sub>. No conjunto de expansão, você pode especificar um grupo de substituições sinônimas umas das outras.

    Por exemplo, você pode editar a seção de expansão para tratar as substituições "escritor", "autor" e "jornalista" como sinônimas. As consultas de pesquisa de texto completo que contêm correspondências em uma substituição são expandidas para incluir todas as demais substituições especificadas no conjunto. Por isso, no exemplo anterior, quando você emite uma consulta FORMS OF THESAURUS ou FREETEXT para a palavra "autor", a pesquisa de texto completo também retorna resultados que contêm as palavras "escritor" e "jornalista".

    A seção de conjuntos de expansão do exemplo anterior seria parecida com esta:

     <expansion>
             <sub>writer</sub>
             <sub>author</sub>
             <sub>journalist</sub>
     </expansion>
    
  • Estrutura XML de um conjunto de substituição

    Cada conjunto de substituição é incluído em um elemento <replacement>. Nesse elemento, você pode especificar um ou mais padrões em um elemento <pat> e zero ou mais substituições em elementos <sub>, um por sinônimo. Também pode especificar um padrão a ser substituído por um conjunto de substituição. Padrões e substituições podem conter uma palavra ou uma sequência de palavras. Se não houver uma substituição especificada para um padrão, isso será o mesmo que remover o padrão da consulta do usuário.

    Por exemplo, vamos supor que você deseja que as consultas relacionadas ao termo "W2K", o padrão, sejam substituídas por "Windows 2000" ou "XP", as substituições. Se você executar uma consulta de texto completo usando o termo "W2K", a pesquisa de texto completo só retornará resultados que contêm "Windows 2000" ou "XP", e não resultados com "W2K", o que acontece porque o padrão "W2K" foi “substituído” pelos padrões "Windows 2000" e "XP".

    A seção de conjuntos de substituição procuraria o seguinte para o exemplo anterior:

     <replacement>
             <pat>W2K</pat>
             <sub>Windows 2000</sub>
             <sub>XP</sub>
     </replacement>
    

    Se você tiver dois conjuntos de substituição com padrões semelhantes sendo associados, o mais longo dos dois tem precedência. Por exemplo, ao consultar FORMS OF THESAURUS para "comunidade online do Internet Explorer" com os conjuntos de substituição a seguir, o conjunto de substituição "Internet Explorer" tem precedência sobre o conjunto de substituição "Internet". Portanto essa consulta será processada como "comunidade online do IE" ou "comunidade online do IE 5".

    <replacement>
             <pat>Internet</pat>
             <sub>intranet</sub>
    </replacement>
    

    e

    <replacement>
             <pat>Internet Explorer</pat>
             <sub>IE</sub>
             <sub>IE 5</sub>
    </replacement>
    

[Início]

Trabalhando com arquivos de dicionário de sinônimos

Para editar um arquivo de dicionário de sinônimos

Para carregar um arquivo de dicionário de sinônimos atualizado

Para 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