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 idioma específico, um separador de palavras identifica palavras individuais determinando em que existem limites de palavra com base nas regras lexicais do idioma. Cada palavra (também conhecida como 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.
Registrando separadores de palavras
Para que os separadores de palavras de um idioma possam ser usados, é necessário registrá-los. Para separadores de palavras registrados, recursos linguísticos associados, 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 atualmente registrados com 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
Para uma versão localizada do SQL Server, SQL Server Instalação define a opção default full-text language
para o idioma do servidor se houver uma correspondência apropriada. Para uma versão não localizada do SQL Server, a opção default full-text language
é 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, veja 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, veja 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 têm regras linguísticas melhores e são mais precisos do que os separadores de palavras anteriores. Potencialmente, os novos separadores de palavras podem se comportar um pouco diferente dos separadores de palavras em índices de texto completo que foram importados de versões anteriores do SQL Server. Isso será significativo se um catálogo de texto completo foi importado quando um banco de dados foi atualizado 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, veja Atualizar pesquisa de texto completo.
Para obter uma lista completa de todos os separadores de palavras, consulte sys.fulltext_languages (Transact-SQL).
Consulte Também
ALTER FULLTEXT INDEX (Transact-SQL)
CREATE FULLTEXT INDEX (Transact-SQL)
sp_fulltext_service (Transact-SQL)
sys.fulltext_languages (Transact-SQL)
Configurar e gerenciar palavras irrelevantes e listas de palavras irrelevantes (stoplists) para pesquisa de texto completo
Atualizar pesquisa de texto completo