sp_fulltext_keymappings (Transact-SQL)
Retourne des mappages entre identificateurs de document (DocIds) et valeurs de clé de texte intégral. La colonne DocId contient les valeurs d'un entier bigint mappé à une valeur de clé de texte intégral particulière dans une table indexée en texte intégral. Les valeurs de DocId qui répondent à une condition de recherche sont transmises du moteur de texte intégral au moteur de base de données, où elles sont mappées aux valeurs de clé de texte intégral de la table de base interrogée. La colonne de clé de texte intégral est un index unique qui est resuis sur une seule colonne de la table.
Syntaxe
sp_fulltext_keymappings { table_id | table_id, docid | table_id, NULL, key }
Paramètres
table_id
ID de l'objet de la table indexée en texte intégral. Si vous spécifiez un table_id non valide, une erreur est retournée. Pour plus d'informations sur l'obtention de l'ID de l'objet d'une table, consultez OBJECT_ID (Transact-SQL).docid
Identificateur de document (DocId) interne qui correspond à la valeur de la clé. Une valeur docid non valide ne retourne pas de résultat. Pour plus d'informations sur les identificateurs de documents, consultez Structure de l'index de recherche en texte intégral.key
Valeur de la clé de texte intégral pour une table spécifiée. Une valeur key non valide ne retourne pas de résultat. Pour plus d'informations sur les valeurs de clés de texte intégral , consultez Procédure : obtenir des informations sur la colonne de clés de texte intégral (Transact-SQL).
Important
Pour plus d'informations sur l'utilisation d'un, de deux ou de trois paramètres, consultez « Remarques » plus loin dans cette rubrique.
Valeurs de code de retour
Aucune.
Ensembles de résultats
Nom de la colonne |
Type de données |
Description |
---|---|---|
DocId |
bigint |
Colonne de l'ID interne de document (DocId) qui correspond à la valeur de la clé. |
Clé |
* |
Valeur de la clé de texte intégral pour une table spécifiée. Si aucune clé de texte intégral n'existe dans le catalogue, un ensemble de lignes vide est retourné. |
* Le type de données de la clé est identique à celui du type de données de la colonne de clé de texte intégral dans la table de base.
Autorisations
Cette fonction est publique et ne requiert pas d'autorisation spéciale.
Notes
Le tableau ci-dessous décrit l'impact de l'utilisation d'un, de deux ou de trois paramètres.
Cette liste de paramètres… |
Donne le résultat suivant... |
---|---|
table_id |
Lorsqu'il est invoqué avec uniquement le paramètre table_id, le sp_fulltext_keymappings retourne toutes les valeurs de clé de texte intégral (Clé) de la table de base spécifiée, avec le DocId qui correspond à chaque clé. Cela inclut des clés qui sont en attente de suppression. Cette fonction est utile pour la résolution de divers problèmes. Elle est particulièrement utile pour afficher le contenu d'index de recherche en texte intégral lorsque la clé de texte intégral sélectionnée n'est pas un type de données integer. Cela implique qu'il faut combiner les résultats de sp_fulltext_keymappings avec les résultats de sys.dm_fts_index_keywords_by_document. Pour plus d'informations, consultez sys.dm_fts_index_keywords_by_document (Transact-SQL). En général, toutefois, nous vous recommandons, si possible, d'exécuter sp_fulltext_keymappings avec les paramètres qui spécifient une clé de de texte intégral spécifique ou DocId. C'est beaucoup plus efficace que retourner un mappage de clés entier, surtout pour une table très volumineuse pour laquelle le coût de performance lié au retour d'un mappage de clés entier peut être conséquent. |
table_id, docid |
Si seuls table_id et docid sont spécifiés, docid doit avoir une valeur autre que NULL et spécifier un DocId valide dans la table spécifiée. Cette fonction est utile pour isoler la clé de texte intégral personnalisée de la table de base qui correspond au DocId d'un index de recherche en texte intégral particulier. |
table_id, NULL, key |
Si trois paramètres sont présents, le deuxième paramètre doit être NULL, et key doit être non NULL et spécifier une valeur de clé de texte intégral valide à partir de la table spécifiée. Cette fonction est utile pour isoler le DocId qui correspond à une clé de texte intégral particulière de la table de base. |
Une erreur est retournée dans l'une des conditions suivantes :
Vous spécifiez un table_id non valide.
La table n'est pas indexée en texte intégral.
Une valeur NULL est rencontrée pour un paramètre qui peut être non NULL
Exemples
[!REMARQUE]
Les exemples de cette section utilisent la table Production.ProductReview de l'exemple de base de données AdventureWorks. Vous pouvez créer cet index en exécutant l'exemple fourni pour la table ProductReview dans CREATE FULLTEXT INDEX (Transact-SQL).
A. Obtention de toutes les valeurs de clés et valeurs DocId
L'exemple suivant utilise une instruction DECLARE pour créer une variable locale, @table\_id, et lui assigner comme valeur l'ID de la table ProductReview. L'exemple exécute sp_fulltext_keymappings qui spécifie @table\_id pour le paramètre table_id.
[!REMARQUE]
L'utilisation de sp_fulltext_keymappings avec uniquement le paramètre table_id convient aux petites tables.
USE AdventureWorks;
GO
DECLARE @table_id int = OBJECT_ID(N'Production.ProductReview');
EXEC sp_fulltext_keymappings @table_id;
GO
Cet exemple retourne toutes les clés DocIds et toutes les clés de texte intégral de la table, comme suit :
docid |
key |
|
1 |
1 |
1 |
2 |
2 |
2 |
3 |
3 |
3 |
4 |
4 |
4 |
B. Obtention de la valeur DocId pour une valeur de clé spécifique
L'exemple suivant utilise une instruction DECLARE pour créer une variable locale, @table\_id, et lui assigner comme valeur l'ID de la table ProductReview. L'exemple exécute sp_fulltext_keymappings qui spécifie @table\_id pour le paramètre table_id, la valeur NULL pour le paramètre docid et 4 pour le paramètre key.
[!REMARQUE]
L'utilisation de sp_fulltext_keymappings avec uniquement le paramètre table_idconvient aux petites tables.
USE AdventureWorks;
GO
DECLARE @table_id int = OBJECT_ID(N'Production.ProductReview');
EXEC sp_fulltext_keymappings @table_id, NULL, 4;
GO
Cet exemple retourne les résultats suivants.
docid |
key |
|
4 |
4 |
4 |
Historique des modifications
Mise à jour du contenu |
---|
Ajout d'exemples. |
Voir aussi