Dépannage des échecs de l'indexation de texte intégral

Lors du remplissage ou de la gestion d'un index de recherche en texte intégral, il est possible que l'indexeur de texte intégral, pour les raisons détaillées ci-dessous, ne parvienne pas à indexer une ou plusieurs lignes. Ces erreurs au niveau des lignes n'empêchent pas l'achèvement du remplissage. L'indexeur ignore ces lignes, et leur contenu ne peut donc pas être interrogé.

Les défaillances d'indexation peuvent se produire dans les cas suivants :

  • L'indexeur ne peut pas trouver ou charger un composant de filtre ou d'analyseurs lexicaux. Ce problème peut se produire si la ligne de la table contient un format de document ou un contenu dans une langue qui n'a pas été inscrite avec l'instance de SQL Server. Il peut également se produire si le composant inscrit de l'analyseur lexical ou du filtre n'est pas signé, ou en cas d'échec de la vérification de la signature lors de son chargement.

  • Un composant, par exemple un analyseur lexical ou un filtre, échoue et renvoie une erreur à l'indexeur. Cette situation peut se produire si le document en cours d'indexation est endommagé, interdisant au filtre d'extraire le texte du document. Elle peut également survenir lorsqu'un composant est incapable de traiter le contenu d'une même ligne au-delà d'une certaine taille, en raison de limitations de mémoire sur l'hôte de démon de filtre de texte intégral (fdhost.exe).

Pour chaque défaillance au niveau d'une ligne, le journal de l'analyse contient des détails sur les raisons qui l'ont provoquée. Le nombre d'erreurs est résumé à la fin d'un remplissage complet ou incrémentiel.

D'autres défaillances peuvent avoir un effet sur le processus d'indexation lui-même et empêcher l'achèvement du remplissage :

  • L'index de texte intégral dépasse le nombre maximal de lignes admissibles dans un catalogue de texte intégral.

  • Un index cluster ou un index clé de texte intégral sur la table en cours d'indexation est modifié, supprimé ou reconstruit.

  • Une défaillance matérielle ou l'endommagement d'un disque provoque l'endommagement du catalogue de texte intégral.

  • Un groupe de fichiers contenant la table en cours d'indexation de texte intégral est mis hors ligne ou en lecture seule.

Il convient de consulter le journal d'analyse à la fin de toutes les opérations lourdes de remplissage d'index de texte intégral ou lorsqu'un remplissage ne s'est pas achevé.

Composants non signés

Par défaut, l'indexeur de texte intégral requiert que les filtres et les analyseurs lexicaux qu'il charge soient signés. S'ils ne sont pas signés, ce qui arrive parfois lorsque des composants personnalisés sont installés, vous devez configurer l'indexeur de texte intégral pour qu'il ignore la vérification de signature.

Important

Le fait d'ignorer la vérification de signature réduit la sécurité de l'instance de SQL Server. Il est recommandé de signer tous les composants que vous implémentez ou de vérifier que tous les composants que vous achetez sont signés. Pour plus d'informations sur la signature de composants, consultez sp_fulltext_service (Transact-SQL).