Partager via


Option transform noise words

Utilisez l'option de configuration du serveur transform noise words pour supprimer un message d'erreur si des mots parasites, ou mots vides, font qu'une opération booléenne sur une requête de texte intégral retourne des lignes nulles. Cette option est utile pour les requêtes de texte intégral qui utilisent le prédicat CONTAINS dans lequel les opérations booléennes ou opérations NEAR incluent des mots parasites. Les valeurs possibles sont décrites dans le tableau suivant.

Valeur

Description

0

Les mots parasites (ou mots vides) ne sont pas transformés. Lorsqu'une requête de texte intégral contient des mots parasites, la requête retourne des lignes nulles, et SQL Server génère un avertissement. Il s'agit du paramètre par défaut.

RemarqueRemarque
Il s'agit d'un avertissement d'exécution. Par conséquent, si la clause de texte intégral dans la requête n'est pas exécutée, l'avertissement n'est pas généré. Pour une requête locale, un seul avertissement est généré, même lorsqu'il y a plusieurs clauses de requêtes de texte intégral. Pour une requête distante, le serveur lié peut ne pas relayer l'erreur ; par conséquent, l'avertissement peut ne pas être généré.

1

Les mots parasites (ou mots vides) sont transformés. Ils sont ignorés, et le reste de la requête est évalué.

Si les mots parasites sont spécifiés dans un terme de proximité, SQL Server les supprime. Par exemple, le mot parasite is est supprimé de CONTAINS(<column_name>, 'NEAR (hello,is,goodbye)'), transformant la requête de recherche en CONTAINS(<column_name>, 'NEAR(hello,goodbye)'). Notez que CONTAINS(<column_name>, 'NEAR(hello,is)') serait simplement transformé en CONTAINS(<column_name>, hello) car il n'y a qu'un seul terme de recherche valide.

Effets du paramètre transform noise words

Cette section illustre le comportement des requêtes qui contiennent un mot parasite, « the », sous les autres paramètres de transform noise words. Les exemples de chaînes de requête de texte intégral sont supposés être exécutés sur une ligne de table contenant les données suivantes : [1, "The black cat"].

[!REMARQUE]

Tous les scénarios de ce type peuvent générer un avertissement de mot parasite.

  • Avec transform noise words défini sur 0 :

    Chaîne de requête

    Résultat

    « cat » AND « the »

    Aucun résultat (le comportement est le même pour « the » AND « cat »)

    « cat » NEAR « the »

    Aucun résultat (le comportement est le même pour « the » AND « cat »)

    « the » AND NOT « black »

    Aucun résultat

    « black » AND NOT « the »

    Aucun résultat

  • Avec transform noise words défini sur 1 :

    Chaîne de requête

    Résultat

    « cat » AND « the »

    Correspondance pour la ligne avec ID 1

    « cat » NEAR « the »

    Correspondance pour la ligne avec ID 1

    « the » AND NOT « black »

    Aucun résultat

    « black » AND NOT « the »

    Correspondance pour la ligne avec ID 1

Exemple

L'exemple suivant affecte la valeur 1 à transform noise words.

sp_configure 'show advanced options', 1;
RECONFIGURE;
GO
sp_configure 'transform noise words', 1;
RECONFIGURE;
GO