Informations sur le langage SQL de requête du service Recherche Windows SharePoint Services

Windows SharePoint Services 3

Le service Recherche dans Windows SharePoint Services fournit des fonctionnalités d'analyse et de recherche de contenu qui prennent en charge la recherche en texte intégral. Le langage de requête utilisé par le service Rechercher étend la syntaxe de requête de base de données SQL-92 et SQL-99 standard, afin de l'optimiser pour les recherches basées sur du texte.

Identificateurs

Les identificateurs spécifient les noms des colonnes (parfois appelées propriétés), des catalogues et des alias. Les littéraux, en revanche, spécifient des valeurs de chaînes et des valeurs numériques.

Vous pouvez créer des identificateurs ayant au maximum 128 caractères de longueur et qui peuvent être de deux types différents, en fonction des caractères utilisés dans le nom de l'identificateur :

  • Identificateurs standard : ils contiennent uniquement les caractères compris entre A et Z, a et z, 0 et 9, ainsi que le trait de soulignement ; en outre, ils commencent par une lettre. Vous n'avez pas besoin de placer les identificateurs standard entre des guillemets doubles.

  • Identificateurs délimités : ils peuvent contenir n'importe quel caractère Unicode valide et doivent être placés entre des guillemets doubles.

Les identificateurs que vous créez en tant qu'URN (Uniform Resource Names) doivent contenir des caractères spéciaux ; il doit s'agir d'identificateurs délimités qui doivent être placés entre des guillemets doubles.

Remarque Remarque :

Vous pouvez utiliser l'astérisque (*) en tant qu'identificateur de colonne spécial lorsque vous voulez indiquer que le service Rechercher comprend toutes les propriétés indexées dans la requête. Bien qu'il ne s'agisse pas d'un identificateur standard, il ne requiert pas de guillemets doubles.

Littéraux

Un littéral est une chaîne de caractères qui représente une valeur dans une instruction de requête. Vous utilisez des littéraux pour comparer des valeurs de colonnes ou pour spécifier des termes de recherche. Le service Recherche dans Windows SharePoint Services prend en charge les types de littéraux suivants.

Chaîne

Les littéraux de chaîne ne sont pas limités en longueur et peuvent contenir soit des caractères ANSI (American National Standard Institute), soit des caractères Unicode. Vous devez placer les littéraux de chaîne entre des guillemets simples. Pour inclure un guillemet simple dans un littéral de chaîne, utilisez deux guillemets simples. Représentez une chaîne vide par deux guillemets simples consécutifs ('').

Numérique

Les littéraux numériques représentent des nombres (notamment les entiers positifs et négatifs, les nombres décimaux et les valeurs monétaires) et peuvent contenir les chiffres allant de 0 à 9, un point, ainsi que la lettre E (ou e). Vous pouvez définir des littéraux numériques à l'aide de la notation scientifique (par exemple 2.3E-05). Ne placez pas un littéral numérique entre des guillemets simples ; sinon, il est interprété comme un littéral de chaîne et est comparé à l'aide des techniques de comparaison de chaîne. Les valeurs monétaires ne peuvent pas contenir de symboles monétaires.

Hexadécimal

Un littéral hexadécimal représente un entier non signé en notation hexadécimale. Il peut contenir les chiffres compris entre 0 et 9, les lettres comprises entre A et F, ainsi que celles comprises entre a et f. Les littéraux hexadécimaux doivent commencer par 0x.

Remarque Remarque :

La norme SQL-92 nécessite que les littéraux hexadécimaux soient placés entre des guillemets simples ; cependant, le service Rechercher ne prend pas en charge cette notation.

Booléen

Les littéraux booléens représentent des valeurs logiques et peuvent être soit TRUE, soit FALSE. Ne placez pas un littéral booléen entre des guillemets simples ; sinon, il est interprété en tant que littéral de chaîne.

Date

Les littéraux de date représentent des dates spécifiques, des valeurs d'horodatage ou des heures relatives, et sont placés entre des guillemets simples. Vous devez spécifier les dates sous la forme année/mois/jour ou année-mois-jour, où le mois, le jour et l'année représentent des nombres. Spécifiez l'année avec une valeur à quatre chiffres, par exemple 2004. Les valeurs des heures doivent être spécifiées sous la forme heures:minutes:secondes. La syntaxe des heures relatives est basée sur DATEADD, fonction de la syntaxe SQL du service Recherche Windows SharePoint Services.

Respect de la casse

Les requêtes du service Recherche dans Windows SharePoint Services ne respectent pas la casse. Cela inclut les mots clés des requêtes (SELECT est identique à Select, select et sELect) et les termes de recherche. Si un identificateur ou un littéral utilise des caractères Unicode ayant une sémantique de mappage de la casse, le moteur de recherche considère que toutes les casses sont équivalentes.

Non-respect des accents

Les requêtes du service Rechercher ne respectent pas la casse, ni les accents, lors de l'utilisation des prédicats FREETEXT ou CONTAINS. La recherche du terme « résume » renvoie également les documents qui contiennent « résumé ». Si un identificateur ou un littéral contient des caractères Unicode accentués, la requête de recherche établit également des correspondances avec les entrées qui contiennent des caractères Unicode combinés utilisant le caractère de base du caractère accentué dans l'identificateur ou le littéral.

Remarque Remarque :

Cela n'est pas le cas pour les plages de caractères comprises entre 0x2e81-f8ff et 0x1100-0x11ff.

Présentation des valeurs de pertinence

Lorsqu'elles sont utilisées dans une base de données relationnelle, les lignes qui sont renvoyées par une requête de recherche doivent répondre à toutes les conditions imposées par la requête. En revanche, une requête du service Rechercher peut renvoyer des documents qui répondent aux conditions de recherche à des degrés divers.

Par exemple, une recherche du terme « programme » dans une base de données relationnelle renvoie les enregistrements qui contiennent cette orthographe spécifique du mot. Qu'un enregistrement contienne une instance ou une centaine d'instances du mot n'a aucun impact sur les résultats. En revanche, le service Rechercher renvoie une valeur de pertinence associée aux documents correspondants. La pertinence des documents comportant « programme » dans leur titre est supérieure à celle des documents qui contiennent ce mot uniquement dans leur dernier paragraphe. De même, les documents qui contiennent des variations du terme de recherche, par exemple « programmes » et « programmation », sont également pris en compte et renvoyés par la requête.

Les requêtes du service Rechercher renvoient des valeurs de pertinence sous forme d'entiers dans la colonne nommée « rang ».

De plus :

  • Les valeurs de rang renvoyées par la requête sont des entiers compris entre 0 et 1 000.

  • Des valeurs de rang plus élevées indiquent que les documents sont ceux qui répondent le mieux aux conditions de recherche.

  • Les valeurs de rang s'appliquent uniquement à la requête active ; par conséquent, elles ne peuvent pas être comparées entre les différentes requêtes en matière de résultats.

  • Les valeurs de rang sont relatives aux autres documents qui correspondent à la requête. Par conséquent, la valeur de rang d'un document particulier dépend des autres documents qui correspondent également à la requête.

  • La valeur de rang des éléments correspondant à un prédicat purement relationnel est 1 000.

Utilisation de recherches localisées

Le service Recherche dans Windows SharePoint Services prend en charge la recherche Unicode intégrale. Vous pouvez indexer des documents qui utilisent le format Unicode, et créer des requêtes de recherche qui utilisent des identificateurs et littéraux Unicode. Toutefois, les paramètres linguistiques d'une application ou du système d'exploitation peuvent avoir des effets importants sur le fonctionnement du service Rechercher.

Paramètres régionaux des documents et du système

Lorsque le système d'exploitation (ou même une application) est configuré pour utiliser une langue ou des options régionales spécifiques, de nombreux paramètres sont affectés. Ces paramètres incluent le format des nombres, le format des dates, le format des devises, le mappage des majuscules et des minuscules, l'ordre de tri du dictionnaire, la segmentation du texte en unités lexicales, et bien d'autres choses encore. Bien que ces paramètres permettent au service Recherche de contenu d'entreprise de fournir une excellente prise en charge localisée, des résultats inattendus peuvent se produire lorsque des documents associés à des paramètres régionaux spécifiques font l'objet de recherches via un système configuré à l'aide de paramètres régionaux distincts.

Par exemple, la liste des mots parasites (mots ignorés durant l'indexation et par les requêtes, car ils n'ont pas de signification ou de contexte) varie fortement selon les langues. En français, le mot pour est équivalent au mot anglais for. Si vous indexez un document en français et si vous recherchez ensuite le mot « pour » à l'aide d'un système de requête anglais, des documents peuvent être renvoyés alors que le mot devrait être ignoré. Si un système français traite la même requête, il renverra une erreur en indiquant que la requête de recherche contient uniquement des mots parasites.

Lorsque l'objet IFilter traite les propriétés de texte et le contenu d'un document, il signale la langue de ce document à l'indexeur de contenu. En utilisant ces informations, le service Recherche de contenu d'entreprise peut appliquer le séparateur de mots approprié et la liste de mots parasites correspondante.

Spécification des langues

Vous pouvez spécifier la langue utilisée dans les requêtes de recherche. Les prédicats FREETEXT et CONTAINS de la clause WHERE prennent en charge la spécification d'une langue. Vous pouvez indiquer la langue d'une requête en fournissant un identificateur numérique de paramètres régionaux (LCID) dans le prédicat CONTAINS ou FREETEXT, via la syntaxe suivante :

CONTAINS | FREETEXT

([<column_identifier>,]'<content_search_condition>' [,LCID])

Pour plus d'informations, voir la syntaxe des prédicats CONTAINS et FREETEXT.

Dans cette section

Voir aussi

Afficher: