transform noise words (option de configuration de serveur)

S’applique à :SQL Server

Utilisez l’option de configuration de serveur transform noise words pour supprimer un message d’erreur si des mots parasites, autrement dit des mots vides, provoquent le retour de lignes nulles d’une opération booléenne sur une requête de texte intégral. 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 les opérations de proximité (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 comportement par défaut.

Remarque : 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 des 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)'), en transformant la requête de recherche en CONTAINS(<column_name>, 'NEAR(hello,goodbye)'). Notez que CONTAINS(<column_name>, 'NEAR(hello,is)') serait transformé en CONTAINS(<column_name>, hello) , car il n'existe qu'un seul terme de recherche valide.

Effets du paramètre Transformer les mots parasites

Cette section illustre le comportement des requêtes qui contiennent un mot parasite, «the», sous les autres paramètres de transformer les mots parasites. Il est supposé que les chaînes de la requête de texte intégral de l'exemple sont exécutées par rapport à une ligne de table qui contient les données suivantes : [1, "The black cat"].

Notes

Tous ces scénarios peuvent générer un avertissement de mot parasite.

  • Avec transform noise words défini sur 0 :

    Chaîne de requête Résultats
    "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" NEAR "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ésultats
    "cat" AND "the" Accès à la ligne portant l'ID 1
    "cat" NEAR "the" Accès à la ligne portant l'ID 1
    "the" AND NOT "black" Aucun résultat
    "black" AND NOT "the" Accès à la ligne portant l'ID 1

Exemple

L’exemple suivant définit transform noise words sur 1.

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

Voir aussi

Options de configuration du serveur (SQL Server)
CONTAINS (Transact-SQL)