Gérer et surveiller la recherche sémantique
S'applique à : SQL Server
Décrit le processus d'indexation sémantique et les tâches associées à la gestion et au contrôle des index.
Vérifier l’état de l’indexation sémantique
La première phase de l'indexation sémantique est-elle achevée ?
Interrogez la vue de gestion dynamique, sys.dm_fts_index_population (Transact-SQL), et vérifiez les colonnes status et status_description.
La première phase de l'indexation inclut l'alimentation de l'index de mots clés de recherche en texte intégral et de l'index d'expressions clés sémantiques, ainsi que l'extraction de données de ressemblance de document.
USE database_name
GO
SELECT * FROM sys.dm_fts_index_population WHERE table_id = OBJECT_ID('table_name')
GO
La seconde phase de l'indexation sémantique est-elle achevée ?
Interrogez la vue de gestion dynamique, sys.dm_fts_semantic_similarity_population (Transact-SQL), et vérifiez les colonnes status et status_description.
La deuxième phase de l'indexation inclut l'alimentation de l'index de ressemblance de document sémantique.
USE database_name
GO
SELECT * FROM sys.dm_fts_semantic_similarity_population WHERE table_id = OBJECT_ID('table_name')
GO
Vérifier la taille des index sémantiques
Quelle est la taille logique d'un index d'expressions clés sémantiques ou d'un index de ressemblance de document sémantique ?
Interrogez la vue de gestion dynamique, sys.dm_db_fts_index_physical_stats (Transact-SQL).
La taille logique est affichée en nombre de pages d'index.
USE database_name
GO
SELECT * FROM sys.dm_db_fts_index_physical_stats WHERE object_id = OBJECT_ID('table_name')
GO
Quelle est la taille totale des index sémantiques et de recherche en texte intégral pour un catalogue de texte intégral ?
Interrogez la propriété IndexSize de la fonction de métadonnées FULLTEXTCATALOGPROPERTY (Transact-SQL).
SELECT FULLTEXTCATALOGPROPERTY('catalog_name', 'IndexSize')
GO
Combien d'éléments sont indexés dans les index sémantiques et de recherche en texte intégral pour un catalogue de texte intégral ?
Interrogez la propriété ItemCount de la fonction de métadonnées FULLTEXTCATALOGPROPERTY (Transact-SQL).
SELECT FULLTEXTCATALOGPROPERTY('catalog_name', 'ItemCount')
GO
Imposer l’alimentation des index sémantiques
Vous pouvez forcer le remplissage des index sémantiques et de recherche en texte intégral à l'aide de la clause START/STOP/PAUSE ou RESUME POPULATION avec la même syntaxe et le même comportement que ceux décrits pour les index de recherche en texte intégral. Pour plus d’informations, consultez ALTER FULLTEXT INDEX (Transact-SQL) et Alimenter des index de recherche en texte intégral.
Étant donné que l'indexation sémantique dépend de l'indexation de texte intégral, les index sémantiques ne sont remplis que lorsque les index de recherche en texte intégral associés le sont également.
Exemple : démarrer une alimentation complète des index sémantiques et de recherche en texte intégral
L’exemple suivant démarre une alimentation complète des index sémantiques et de recherche en texte intégral en modifiant un index de recherche en texte intégral existant sur la table Production.Document dans l’exemple de base de données AdventureWorks2022
.
USE AdventureWorks2022
GO
ALTER FULLTEXT INDEX ON Production.Document
START FULL POPULATION
GO
Désactiver ou réactiver l’indexation sémantique
Vous pouvez activer ou désactiver l'indexation sémantique ou de texte intégral à l'aide de la clause ENABLE/DISABLE avec la même syntaxe et le même comportement que ceux décrits pour les index de recherche en texte intégral. Pour plus d’informations, consultez ALTER FULLTEXT INDEX (Transact-SQL).
Lorsque l'indexation sémantique est désactivée et suspendue, les requêtes sur les données sémantiques continuent de s'exécuter avec succès et retournent des données indexées précédemment. Ce comportement n'est pas cohérent avec le comportement de la recherche en texte intégral.
-- To disable semantic indexing on a table
USE database_name
GO
ALTER FULLTEXT INDEX ON table_name DISABLE
GO
-- To re-enable semantic indexing on a table
USE database_name
GO
ALTER FULLTEXT INDEX ON table_name ENABLE
GO
À propos des phases d’indexation sémantique
Une recherche sémantique indexe deux types de données pour chaque colonne sur laquelle elle est activée :
Phrases clés
Ressemblance de document
L'indexation sémantique se produit en deux phases, conjointement à l'indexation de texte intégral :
Phase 1. L'index de mots clés de texte intégral et l'index d'expressions clés sémantiques sont remplis en même temps, en parallèle. Les données requises pour indexer la ressemblance de document sont également extraites à ce moment.
Phase 2. L'index de ressemblance de document sémantique est rempli à son tour. Cet index dépend des deux index remplis à la phase précédente.
Problème : les index sémantiques ne sont pas alimentés
Les index de recherche en texte intégral associés sont-ils remplis ?
Étant donné que l'indexation sémantique dépend de l'indexation de texte intégral, les index sémantiques ne sont remplis que lorsque les index de recherche en texte intégral associés le sont également.
La recherche en texte intégral et la recherche sémantique sont-elles installées et configurées correctement ?
Pour plus d’informations, consultez Installer et configurer la recherche sémantique.
Le service FDHOST est-il indisponible, ou existe-t-il une autre condition qui provoquerait l'échec de l'indexation de texte intégral ?
Pour plus d’informations, consultez Résoudre l’indexation de recherche en texte intégral.