sp_fulltext_keymappings (Transact-SQL)
Aplica-se a:SQL ServerInstância Gerenciada de SQL do AzureAnalytics Platform System (PDW)
Retorna mapeamentos entre identificadores de documento (DocIds) e valores de chaves de texto completo. A coluna DocId contém valores para um inteiro bigint que mapeia para um determinado valor de chave de texto completo em uma tabela indexada de texto completo. Os valores DocId que satisfazem uma condição de pesquisa são transmitidos do Mecanismo de Texto Completo para o Mecanismo de Banco de Dados, no qual eles são mapeados para valores de chave de texto completo da tabela base que está sendo consultada. A coluna de chave de texto completo é um índice exclusivo exigido em uma coluna da tabela.
Convenções de sintaxe de Transact-SQL
Sintaxe
sp_fulltext_keymappings { table_id | table_id , docId | table_id , NULL , key }
[ ; ]
Argumentos
table_id
A ID do objeto da tabela indexada de texto completo. Se você especificar um table_id inválido, um erro será retornado. Para obter informações sobre como obter a ID do objeto de uma tabela, consulte OBJECT_ID (Transact-SQL).
docId
Um identificador de documento interno (DocId) que corresponde ao valor da chave. Um valor docId inválido não retorna nenhum resultado.
chave
O valor da chave de texto completo da tabela especificada. Um valor key inválido não retorna nenhum resultado. Para obter informações sobre valores de chave de texto completo, consulte Gerenciar índices de texto completo.
Valores do código de retorno
Nenhum.
Conjunto de resultados
Nome da coluna | Tipo de dados | Descrição |
---|---|---|
DocId |
bigint | Uma coluna de identificador de documento interno (DocId) que corresponde ao valor da chave. |
Key |
1 | O valor da chave de texto completo da tabela especificada. Se nenhuma chave de texto completo existir na tabela de mapeamento, um conjunto de linhas vazio será retornado. |
1 O tipo de dados para Chave é igual ao tipo de dados da coluna de chave de texto completo na tabela base.
Permissões
Esta função é pública e não requer permissões especiais.
Comentários
A tabela a seguir descreve o efeito de usar um, dois ou três parâmetros.
Esta lista de parâmetros... | Tem esse resultado... |
---|---|
table_id | Quando invocado apenas com o parâmetro table_id, retorna todos os valores de chave de texto completo (chave) da tabela base especificada, sp_fulltext_keymappings juntamente com o DocId que corresponde a cada chave. Isso inclui as chaves que estão com exclusão pendente.Esta função é útil para solucionar vários problemas. É útil para ver o conteúdo do índice de texto completo quando a chave de texto completo selecionada não é de um tipo de dados inteiro. Isso envolve unir os resultados de com os resultados de sp_fulltext_keymappings sys.dm_fts_index_keywords_by_document . Para obter mais informações, consulte sys.dm_fts_index_keywords_by_document (Transact-SQL).Em geral, no entanto, recomendamos que, se possível, você execute sp_fulltext_keymappings com parâmetros que especificam uma chave de texto completo específica ou DocId. Isso é muito mais eficiente do que retornar um mapa de chaves inteiro, especialmente para uma tabela grande para a qual o custo de desempenho de retornar o mapa de chaves inteiro pode ser substancial. |
table_id, docId | Se apenas o table_id e docId forem especificados, docId deverá ser não-NULL e especificar um DocId válido na tabela especificada. Essa função é útil para isolar a chave de texto completo personalizada a partir da tabela base que corresponde ao DocId de um índice de texto completo específico. |
table_id, NULL, chave | Se três parâmetros estiverem presentes, o segundo parâmetro deverá ser NULL e a chave deverá ser não-NULL e especificar um valor de chave de texto completo válido da tabela especificada. Essa função é útil no isolamento do DocId que corresponde a uma chave de texto completo específica da tabela base. |
Um erro é retornado em qualquer uma das condições a seguir:
- Você especifica um table_id inválido
- A tabela não é indexada em texto completo
NULL
é encontrado para um parâmetro que pode ser não-nulo.
Exemplos
Observação
Os exemplos nesta seção usam a Production.ProductReview
tabela do banco de dados de exemplo AdventureWorks2022. Você pode criar esse índice executando o exemplo fornecido para a ProductReview
tabela em CREATE FULLTEXT INDEX (Transact-SQL).
R. Obter todos os valores de Key e DocId
O exemplo a seguir usa uma instrução DECLARE para criar uma variável @table_id
local e atribuir a ProductReview
ID da tabela como seu valor. O exemplo é executado sp_fulltext_keymappings
especificando @table_id
para o parâmetro table_id .
Observação
Usar sp_fulltext_keymappings
apenas com o parâmetro table_id é adequado para tabelas pequenas.
USE AdventureWorks2022;
GO
DECLARE @table_id int = OBJECT_ID(N'Production.ProductReview');
EXEC sp_fulltext_keymappings @table_id;
GO
Esse exemplo retorna todas as DocIds e as chaves de texto completo da tabela, da seguinte maneira:
TABLE | docId | chave |
---|---|---|
1 |
1 |
1 |
2 |
2 |
2 |
3 |
3 |
3 |
4 |
4 |
4 |
B. Obter o valor DocId para um valor de chave específico
O exemplo a seguir usa uma instrução DECLARE para criar uma variável local, @table_id
, e para atribuir a ID da tabela ProductReview
como seu valor. O exemplo é executado sp_fulltext_keymappings
especificando @table_id
para o parâmetro table_id, NULL para o parâmetro docId e 4 para o parâmetro key.
Observação
Usar sp_fulltext_keymappings
apenas com o parâmetro table_id é adequado para tabelas pequenas.
USE AdventureWorks2022;
GO
DECLARE @table_id int = OBJECT_ID(N'Production.ProductReview');
EXEC sp_fulltext_keymappings @table_id, NULL, 4;
GO
Esse exemplo retorna os seguintes resultados.
TABLE | docId | chave |
---|---|---|
4 |
4 |
4 |
Conteúdo relacionado
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de