Changements de comportement de la recherche en texte intégral

Cette rubrique décrit les changements de comportement de la recherche en texte intégral. Les modifications de comportement affectent le mode de fonctionnement ou d'interaction des fonctionnalités dans SQL Server 2012 par rapport aux versions précédentes de SQL Server.

Modifications du comportement de la recherche en texte intégral dans SQL Server 2012

SQL Server 2012 installe une nouvelle version des analyseurs lexicaux et des générateurs de formes dérivés pour l'anglais américain (LCID 1033) et l'anglais du Royaume-Uni (LCID 2057). Toutefois, vous pouvez revenir à la version précédente de ces composants si vous souhaitez conserver le comportement précédent. Pour plus d'informations, consultez Modifier l'analyseur lexical utilisé pour l'anglais des États-Unis et l'anglais du Royaume-Uni.

Nouveaux analyseurs lexicaux et générateurs de formes dérivées installés

SQL Server 2012 met à jour les analyseurs lexicaux et générateurs de formes dérivées utilisés par la recherche en texte intégral et la recherche sémantique. Pour des raisons de cohérence entre le contenu des index et les résultats des requêtes, nous vous recommandons de réalimenter les index de recherche en texte intégral existants.

  1. Il existe de nouveaux analyseurs lexicaux pour l'anglais. Si vous devez conserver le comportement antérieur, consultez Modifier l'analyseur lexical utilisé pour l'anglais des États-Unis et l'anglais du Royaume-Uni.

  2. Les analyseurs lexicaux tiers pour le danois, le polonais et le turc qui étaient inclus avec les versions antérieures de SQL Server ont été remplacés par les composants Microsoft. Les nouveaux composants sont activés par défaut.

  3. Il existe de nouveaux analyseurs lexicaux pour le tchèque et le grec. Les versions antérieures de la recherche en texte intégral de SQL Server ne prenaient pas en charge ces deux langues.

Changements de comportement des nouveaux analyseurs lexicaux et générateurs de formes dérivées

Les nouveaux composants peuvent retourner des résultats autres que les composants plus anciens lorsque vous remplissez et interrogez les index de recherche en texte intégral. Les tableaux suivants illustrent certaines différences pouvant se présenter dans des résultats en anglais.

Si vous devez conserver le comportement antérieur des analyseurs lexicaux et des générateurs de formes dérivées, consultez les rubriques suivantes :

Dans certains cas, les nouveaux composants retournent davantage de résultats :

Terme

Résultats avec l'analyseur lexical et le générateur de formes dérivées précédents

Résultats avec les nouveaux analyseur lexical et générateur de formes dérivées

cat-dog

cat

dog

cat

cat-dog

dog

cat@dog.com

cat

com

dog

cat

cat@dog.com

com

dog

12/11/2011

(où le terme est une date)

12/11/2011

dd20111211

11

12

12/11/2011

2011

dd20111211

Dans certains cas, les nouveaux composants retournent des résultats similaires :

Terme

Résultats avec l'analyseur lexical et le générateur de formes dérivées précédents

Résultats avec les nouveaux analyseur lexical et générateur de formes dérivées

100$

100$

nn100$

100$

nn100usd

022

022

nn022

022

nn22

10:49AM

(où le terme est une heure)

10:49am

tt1049

10:49am

tt24104900

Dans certains cas les nouveaux composants retournent moins de résultats ou des résultats qui peuvent être inattendus par les applications :

Terme

Résultats avec l'analyseur lexical et le générateur de formes dérivées précédents

Résultats avec les nouveaux analyseur lexical et générateur de formes dérivées

jěˊÿqℭžl

(où les termes ne sont pas des caractères anglais valides)

‘jěˊÿqℭžl’

je yq zl

table's

table’s

table

table’s

cat-

cat

cat-

cat

v-z (où v et z sont des mots parasites)

(aucun résultat)

v-z

$100 000 USD

$100

000

nn000

nn100$

usd

$100 000 usd

nn100000usd

beautiful U.S land

beautiful

land

u.s

us

beautiful

land

Mt. Kent and Mt Challenger

challenger

kent

mt

mt.

mt

kent

challenger

Modifications du comportement de la recherche en texte intégral dans SQL Server 2008

Dans SQL Server 2008 et les versions ultérieures, le moteur de recherche en texte intégral est intégré en tant que service de base de données dans la base de données relationnelle dans le cadre de la requête de serveur et l'infrastructure de moteur de stockage. La nouvelle architecture de recherche en texte intégral réalise les objectifs suivants :

  • Stockage et gestion intégrés — La recherche en texte intégral est maintenant intégrée directement avec les fonctions inhérentes de stockage et de gestion de SQL Server, et le service MSFTESQL n'existe plus. 

    • Les index de recherche en texte intégral sont stockés dans les groupes de fichiers de la base de données, et non dans le système de fichiers. Les opérations d'administration sur une base de données, telles que la création d'une sauvegarde, affectent automatiquement les index de recherche en texte intégral.

    • Un catalogue de texte intégral est maintenant un objet virtuel qui n'appartient à aucun groupe de fichiers ; c'est un concept logique qui renvoie à un groupe d'index de recherche en texte intégral. Par conséquent, de nombreuses fonctionnalités de gestion de catalogue ont été déconseillées, et cet abandon a créé des modifications avec rupture pour quelques fonctionnalités. Pour plus d'informations, consultez Fonctionnalités du moteur de base de données déconseillées dans SQL Server 2012 et Modifications importantes apportées à la recherche en texte intégral.

      [!REMARQUE]

      Les instructions DDL Transact-SQL SQL Server 2005 qui spécifient des catalogues de texte intégral fonctionnent correctement.

  • Traitement de requêtes intégré — Le nouveau processeur de requêtes de recherche en texte intégral fait partie du moteur de base de données et est pleinement intégré avec le processeur de requêtes SQL Server. Cela signifie que l'optimiseur de requête reconnaît les prédicats de requête de texte intégral et les exécute automatiquement aussi efficacement que possible.

  • Administration et résolution des problèmes améliorées — La recherche en texte intégral intégrée fournit des outils pour vous aider à analyser des structures de recherche telles que l'index de recherche en texte intégral, le résultat d'un analyseur lexical donné, la configuration de mot vide, etc.

  • Les mots vides et les listes de mots vides ont remplacé les mots parasites et les fichiers de mots parasites. Une liste de mots vides est un objet de base de données qui facilite les tâches gestion des mots vides et améliore l'intégrité entre instances de serveur différentes et environnements. Pour plus d'informations, consultez Configurer et gérer les mots vides et listes de mots vides pour la recherche en texte intégral.

  • SQL Server 2008 et les versions ultérieures contiennent de nouveaux analyseurs lexicaux pour un grand nombre des langues prises en charge par SQL Server 2005. Seuls les analyseurs lexicaux pour l'anglais, le coréen, le thaï et le chinois (traditionnel et simplifié) restent inchangés. Pour les autres langues, si un catalogue de texte intégral a été importé lorsqu'une base de données SQL Server 2005 a été mise à niveau vers SQL Server 2008 ou une version ultérieure, une ou plusieurs langues utilisées par les index de recherche en texte intégral dans le catalogue de texte intégral peuvent maintenant être associées aux nouveaux analyseurs lexicaux, lesquels peuvent se comporter un peu différemment des analyseurs lexicaux importés. Pour plus d'informations sur la façon de garantir la cohérence entre des requêtes et du contenu d'index de recherche en texte intégral, consultez Mettre à niveau la recherche en texte intégral à partir de SQL Server 2005.

  • Un nouveau service de lancement FDHOST (MSSQLFDLauncher) a été ajouté. Pour plus d'informations, consultez Commencer à utiliser la recherche en texte intégral.

  • L'indexation de texte intégral fonctionne avec une colonne FILESTREAM de la même façon qu'avec une colonne varbinary(max). La table FILESTREAM doit avoir une colonne qui contient l'extension de nom de fichier pour chaque objet blob FILESTREAM. Pour plus d'informations, consultez Exécuter une requête avec une recherche en texte intégral,Configurer et gérer des filtres pour la recherche et sys.fulltext_document_types (Transact-SQL).

    Le moteur de texte intégral indexe le contenu des objets blob FILESTREAM. L'indexation de fichiers tels que des images peut ne pas être utile. Lorsqu'un objet blob FILESTREAM est mis à jour, il est réindexé.

Voir aussi

Concepts

Recherche en texte intégral (SQL Server)

Mettre à niveau la recherche en texte intégral à partir de SQL Server 2005

Commencer à utiliser la recherche en texte intégral

Autres ressources

Compatibilité descendante de la recherche en texte intégral