Configurar e gerenciar separadores de palavras e lematizadores de pesquisa
Os separadores de palavras e os lematizadores executam a análise linguística em todos os dados indexados de texto completo. A análise linguística envolve a localização dos limites das palavras (separação de palavras) e a conjugação de verbos (lematização). Os separadores de palavras e os lematizadores são específicos de idioma, e as regras de análise linguística diferem conforme o idioma. Para um determinado idioma, um separador de palavras identifica palavras individuais determinando onde existem limites de palavra com base nas regras lexicais do idioma. Cada palavra (também chamada de token) é inserida no índice de texto completo usando uma representação compactada para reduzir seu tamanho. O lematizador gera formas flexionadas de uma palavra específica com base nas regras do idioma (por exemplo, "executando", "executou" e "executor" são várias formas da palavra "executar").
O uso de separadores de palavras específicos de idioma permite que os termos resultantes sejam mais precisos para o idioma em questão. Se houver um separador de palavras para uma família de idiomas, mas não para um subidioma em particular, será usado o idioma principal. Por exemplo, o separador de palavras Francês é usado para tratar o texto em francês (Canadá). Se não houver um separador de palavras disponível para um determinado idioma, será usado o separador de palavras neutro. Com ele, a separação das palavras é feita nos caracteres neutros, como espaços e marcas de pontuação.
Neste tópico
Registrando separadores de palavras
Definindo a opção de idioma de texto completo padrão
Escolhendo o idioma para uma coluna indexada
Obtendo informações sobre separadores de palavras
Solucionando problemas de erros de tempo limite de separação de palavras
Noções sobre o impacto dos novos separadores de palavras
Registrando separadores de palavras
Para que os separadores de palavras de um idioma possam ser usados, é necessário registrá-los. Nos separadores de palavras registrados, os recursos associados, como lematizadores, palavras de ruído (palavras irrelevantes) e arquivos de dicionário de sinônimos, também ficam disponíveis para operações de indexação e consulta de texto completo. Para exibir uma lista dos idiomas cujos separadores de palavras estão registrados no SQL Server, use a seguinte instrução Transact-SQL:
SELECT * FROM sys.fulltext_languages
Se você adicionar, remover ou alterar um separador de palavras, precisará atualizar a lista de LCIDs (IDs de localidade) do Microsoft Windows que são suportadas para indexação e consulta de texto completo. Para obter mais informações, consulte Exibir ou alterar filtros registrados e separadores de palavras.
Definindo a opção de idioma de texto completo padrão
Em uma versão localizada do SQL Server, a instalação do SQL Server configura a opção idioma de texto completo padrão com o idioma do servidor caso exista uma correspondência apropriada. Para uma versão não localizada do SQL Server, a opção default full-text language fica em inglês.
Quando criar ou alterar um índice de texto completo, você pode especificar um idioma diferente para cada coluna indexada de texto completo. Se nenhum idioma for especificado para uma coluna, o padrão será o valor da opção de configuração default full-text language.
Observação |
---|
Todas as colunas listadas em uma única cláusula de função de consulta de texto completo devem usar o mesmo idioma, exceto se a opção LANGUAGE for especificada na consulta. O idioma usado para a coluna indexada de texto completo que está sendo consultada determina a análise linguística realizada nos argumentos dos predicados de consulta de texto completo (CONTAINS e FREETEXT) e das funções (CONTAINSTABLE e FREETEXTTABLE). |
Escolhendo o idioma para uma coluna indexada
Quando você cria um índice de texto completo, é recomendável especificar um idioma para cada coluna indexada. Se não for especificado um idioma para uma coluna, será usado o idioma padrão do sistema. O idioma de uma coluna determina que separador de palavras e que lematizador são usados para indexá-la. Além disso, o arquivo do dicionário de sinônimos do idioma será usado por consultas de texto completo na coluna.
Existem alguns aspectos que devem ser considerados na escolha do idioma da coluna para criar um índice de texto completo. Essas considerações estão relacionadas a como seu texto é transformado em token e, depois, indexado pelo Mecanismo de Texto Completo. Para obter mais informações, consulte Escolher um idioma ao criar um índice de texto completo.
Para exibir o idioma do separador de palavras de uma coluna
sys.fulltext_index_columns (Transact-SQL)
SELECT 'language_id' AS "LCID" FROM sys.fulltext_index_columns;
Obtendo informações sobre separadores de palavras
Exibindo o resultado da geração de tokens de uma combinação de separador de palavras, dicionário de sinônimos e lista de palavras irrelevantes
Para retornar informações sobre os separadores de palavras registrados
Solucionando problemas de erros de tempo limite de separação de palavras
Um erro de tempo limite na separação de palavras pode ocorrer em diversas situações. Para obter informações sobre estas situações e o que fazer em cada uma delas, consulte MSSQLSERVER_30053.
Noções sobre o impacto dos novos separadores de palavras
Cada versão do SQL Server normalmente inclui novos separadores de palavras que possuem regras linguísticas melhores e mais precisas do que os separadores de palavras anteriores. O comportamento dos novos separadores de palavras pode ser ligeiramente diferente daquele dos separadores de palavras em índices de texto completo importados de versões anteriores do SQL Server. Isso é significativo se um catálogo de texto completo foi importado durante a atualização de um banco de dados para a versão atual do SQL Server. Agora um ou mais dos idiomas usados pelos índices de texto completo no catálogo de texto completo podem ser associados aos novos separadores de palavras. Para obter mais informações, consulte Atualizar pesquisa de texto completo do SQL Server 2005.
Para ver uma lista completa de todos os separadores de palavras, consulte sys.fulltext_languages (Transact-SQL).
Consulte também
Referência
ALTER FULLTEXT INDEX (Transact-SQL)
CREATE FULLTEXT INDEX (Transact-SQL)
sp_fulltext_service (Transact-SQL)
sys.fulltext_languages (Transact-SQL)