Separadores de palavras e lematizadores
Os separadores de palavras e os lematizadores executam a análise lingüística em todos os dados indexados de texto completo. A análise lingüí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 lingüí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.
Registro de 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 Como alterar a lista de separadores de palavras e filtros registrados (Transact-SQL).
Vários separadores de palavras de terceiros licenciados são fornecidos com o SQL Server 2008. Você pode carregar separadores de palavras de terceiros (e lematizadores) manualmente adicionais para vários idiomas (dinamarquês, polonês e turco). Para obter mais informações, consulte Como carregar separadores de palavras de terceiros licenciados.
Opção de idioma de texto completo
Em uma versão localizada do SQL Server, a instalação do SQL Server configura a opção idioma de texto completo padrão como o idioma do servidor caso exista uma correspondência adequada. 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.
Para obter mais informações, consulte Opçã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 lingüística realizada nos argumentos dos predicados de consulta de texto completo (CONTAINS e FREETEXT) e das funções (CONTAINSTABLE e FREETEXTTABLE). |
Escolhendo um idioma ao criar o índice de texto completo de uma coluna
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 Práticas recomendadas para escolher um idioma ao criar um índice de texto completo.
Para exibir o idioma do separador de palavras de uma coluna
Como exibir ou alterar as propriedades de um índice de texto completo (SQL Server Management Studio)
sys.fulltext_index_columns (Transact-SQL)
SELECT 'language_id' AS "LCID" FROM sys.fulltext_index_columns;
Impacto dos novos separadores de palavras do SQL Server 2008
O SQL Server 2008 inclui separadores de palavras para mais de 50 idiomas diferentes, dos quais 23 também existem no SQL Server 2005. Somente os separadores de palavras para inglês, coreano, tailandês e chinês (todas as formas) permanecem os mesmos. Para outros idiomas, o SQL Server 2008 introduz uma nova geração de separadores de palavras que possuem regras lingüí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 do SQL Server 2005 importados. Isso é significativo se um catálogo de texto completo foi importado durante a atualização de um banco de dados do SQL Server 2005 para o SQL Server 2008. 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 Atualização da pesquisa de texto completo.
Versões de separadores de palavras em idiomas suportados no SQL Server 2005
Somente os separadores de palavras para inglês, coreano, tailandês e chinês (todas as formas) permanecem os mesmos. A tabela a seguir lista os separadores de palavras que existiam no SQL Server 2005 e indica se eles foram atualizados no SQL Server 2008. Para ver uma lista completa de todos os separadores de palavras do SQL Server 2008, consulte sys.fulltext_languages (Transact-SQL).
Observação |
---|
Os separadores de palavras da maioria dos idiomas são registrados por padrão. No entanto, vários separadores de palavras de terceiros licenciados ficam desabilitados por padrão. Para obter informações sobre esses idiomas e como registrar esses separadores de palavras, consulte Como carregar separadores de palavras de terceiros licenciados. |
Idioma |
LCID |
Separadores de palavras |
---|---|---|
Português (Brasil) |
1046 |
Novo |
Chinês (RAE de Hong Kong, RPC) |
3076 |
Inalterado |
Chinês (RAE de Macau) |
5124 |
Inalterado |
Chinês (Cingapura) |
4100 |
Inalterado |
Dinamarquês (desabilitado por padrão) |
1030 |
Inalterado |
Holandês |
1043 |
Novo |
Inglês |
1033 |
Inalterado |
Inglês (Reino Unido) |
2057 |
Inalterado |
Francês |
1036 |
Novo |
Alemão |
1031 |
Novo |
Italiano |
1040 |
Novo |
Japonês |
1041 |
Novo |
Coreano |
1042 |
Inalterado |
Neutro |
0 |
Novo |
Polonês (desabilitado por padrão) |
1045 |
Inalterado |
Português |
2070 |
Novo |
Russo |
1049 |
Novo |
Chinês simplificado |
2052 |
Inalterado |
Espanhol |
3082 |
Novo |
Sueco |
1053 |
Novo |
Tailandês |
1054 |
Inalterado |
Chinês tradicional |
1028 |
Inalterado |
Turco (desabilitado por padrão) |
1055 |
Inalterado |
Para obter uma lista completa dos idiomas suportados, consulte sys.fulltext_languages (Transact-SQL).
Erros de tempo limite na 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.
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 (stoplist)
Para retornar informações sobre os separadores de palavras registrados
Histórico de alterações
Conteúdo atualizado |
---|
Seção "Registro de separadores de palavras" atualizado. |
Consulte também