Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Apprenez à construire des requêtes KeyQL pour la recherche dans SharePoint. Cette référence de syntaxe décrit KeyQL éléments de requête et comment utiliser des restrictions de propriété et des opérateurs dans KeyQL requêtes.
Éléments d’une requête KeyQL
Une requête KeyQL se compose d’un ou plusieurs des éléments suivants :
- Mots clés de texte libre (mots ou expressions)
- Restrictions de propriété
Vous pouvez combiner KeyQL éléments de requête avec un ou plusieurs opérateurs disponibles.
Si la requête KeyQL contient uniquement des opérateurs ou est vide, elle n’est pas valide. KeyQL requêtes ne respectent pas la casse, mais les opérateurs respectent la casse (majuscules).
Remarque
La limite de longueur d’une requête KeyQL varie en fonction de la façon dont vous la créez. Si vous créez la requête KeyQL à l’aide du front-end de recherche SharePoint par défaut, la longueur limite est de 2 048 caractères. Toutefois, KeyQL requêtes que vous créez par programmation à l’aide du modèle objet Query ont une longueur par défaut de 4 096 caractères. Vous pouvez augmenter cette limite jusqu’à 20 480 caractères à l’aide de la propriété MaxKeywordQueryTextLength ou de la propriété DiscoveryMaxKeywordQueryTextLength (pour eDiscovery).
Construction de requêtes de texte libre à l’aide de KeyQL
Lorsque vous construisez votre requête KeyQL à l’aide d’expressions de texte libre, La recherche dans SharePoint correspond aux résultats des termes que vous avez choisis pour la requête en fonction des termes stockés dans l’index de recherche en texte intégral. Cela inclut les valeurs de propriété managée où FullTextQueriable a la valeur true.
Le texte libre KeyQL les requêtes ne respectent pas la casse, mais les opérateurs doivent être en majuscules. Vous pouvez construire KeyQL requêtes en utilisant une ou plusieurs des expressions de texte libre suivantes :
- Un word (inclut un ou plusieurs caractères sans espace ni ponctuation)
- Une phrase (inclut deux ou plusieurs mots, séparés par des espaces ; toutefois, les mots doivent être placés entre guillemets)
Pour construire des requêtes complexes, vous pouvez combiner plusieurs expressions de texte libre avec KeyQL opérateurs de requête. S'il existe plusieurs expressions de texte libre n'incluant aucun opérateur entre elles, le comportement de la requête est le même que pour l'utilisation de l'opérateur AND.
Utilisation de mots dans la requête KeyQL de texte libre
Lorsque vous utilisez des mots dans une requête de texte libre KeyQL, La recherche dans SharePoint renvoie des résultats basés sur des correspondances exactes de vos mots avec les termes stockés dans l’index de recherche en texte intégral. Vous ne pouvez utiliser qu'une partie d'un mot, depuis le début du mot, à l'aide de l'opérateur générique (*) pour permettre la correspondance de préfixe. Dans les correspondances de préfixes, La recherche dans SharePoint met en correspondance les résultats avec des termes qui contiennent le mot, suivis de zéro ou plusieurs caractères.
Par exemple, les requêtes KeyQL suivantes retournent des éléments de contenu qui contiennent les termes « fédéré » et « search » :
federated search
federat* search
search fed*
KeyQL requêtes ne prennent pas en charge la correspondance de préfixe avec le caractère générique * comme préfixe.
Utilisation d’expressions dans la requête KeyQL de texte libre
Lorsque vous utilisez des expressions dans une requête de texte libre KeyQL, La recherche dans SharePoint renvoie uniquement les éléments dans lesquels les mots de votre expression sont situés les uns à côté des autres. Pour spécifier une expression dans une requête KeyQL, vous devez utiliser des guillemets doubles.
KeyQL requêtes ne prennent pas en charge la correspondance de préfixe avec le caractère générique * comme préfixe, vous ne pouvez donc pas utiliser l’opérateur générique avant une expression dans les requêtes de texte libre. Cependant, vous pouvez l'utiliser après une expression.
Requêtes de restriction de propriété dans KeyQL
À l’aide de KeyQL, vous pouvez construire des requêtes qui utilisent des restrictions de propriété pour limiter le focus de la requête afin qu’elle corresponde uniquement aux résultats en fonction d’une condition spécifiée.
Spécification de restrictions de propriété
Une restriction de propriété de base comprend les éléments suivants :
<Property Name><Property Operator><Property Value>
Le tableau 1 répertorie quelques exemples de syntaxe de restrictions de propriété valides dans les requêtes KeyQL.
Tableau 1. Syntaxe de restriction de propriété valide
| Syntaxe | Renvoie |
|---|---|
author:"John Smith" |
Renvoie les éléments contenus créés par John Smith. |
filetype:docx |
Renvoie les documents Microsoft Word. |
filename:budget.xlsx |
Retourne des éléments de contenu avec le nom budget.xlsxde fichier . |
La restriction de propriété ne doit pas inclure d’espace entre le nom de la propriété, l’opérateur de propriété et la valeur de la propriété, ou la restriction de propriété est traitée comme une requête de texte libre. La longueur d’une restriction de propriété est limitée à 2 048 caractères.
Dans les exemples suivants, l'espace blanc entraîne le renvoi des éléments de contenu incluant les termes « author » et « John Smith », au lieu des éléments de contenu publiés par John Smith :
author: "John Smith"
author :"John Smith"
author : "John Smith"
En d'autres termes, les restrictions de propriété précédentes sont équivalentes à ce qui suit :
author "John Smith"
Spécification de noms de propriété pour les restrictions de propriété
Vous devez spécifier un nom valide de propriété gérée pour la restriction de propriété. Par défaut, Recherche dans SharePoint inclut plusieurs propriétés gérées pour les documents.
Pour spécifier la restriction de propriété d'une valeur de propriété analysée, vous devez d'abord mapper la propriété analysée à une propriété gérée. Consultez la rubrique Propriétés gérées et analysées dans Planifier les conditions d'utilisation de la recherche pour l'utilisateur final (Office SharePoint Server).
La propriété gérée doit être interrogeable afin que vous puissiez rechercher cette propriété managée dans un document. En outre, la propriété gérée peut être Retrievable pour la propriété gérée à récupérer. Toutefois, la propriété gérée ne doit pas être Retrievable pour effectuer des recherches de propriétés.
Opérateurs de propriété pris en charge dans les restrictions de propriété
Recherche dans SharePoint prend en charge plusieurs opérateurs de propriété pour les restrictions de propriété, comme indiqué dans le tableau 2.
Tableau 2. Opérateurs de propriété valides pour les restrictions de propriété
| Opérateur | Description | Type de propriété gérée pris en charge |
|---|---|---|
| : |
Renvoie les résultats lorsque la valeur spécifiée dans la restriction de propriété est égale à la valeur de propriété stockée dans la base de données de banque de propriétés, ou correspond aux termes individuels dans la valeur de propriété stockée dans l'index de texte intégral. |
Text Date/heure Integer Decimal Double YesNo |
| = |
Renvoie les résultats de la recherche où la valeur de la propriété est égale à la valeur spécifiée dans la restriction de propriété. Remarque : nous ne recommandons pas de combiner l’opérateur = avec un astérisque (*) quand vous effectuez une recherche par correspondance exacte. |
Text Date/heure Integer Decimal Double YesNo |
| < |
Renvoie les résultats lorsque la valeur de propriété est inférieure à la valeur spécifiée dans la restriction de propriété. |
Date/heure Integer Decimal Double |
| > |
Renvoie les résultats de recherche lorsque la valeur de propriété est supérieure à la valeur spécifiée dans la restriction de propriété. |
Date/heure Integer Decimal Double |
|
<= |
Renvoie les résultats de recherche lorsque la valeur de propriété est inférieure ou égale à la valeur spécifiée dans la restriction de propriété. |
Date/heure Integer Decimal Double |
|
>= |
Renvoie les résultats de recherche lorsque la valeur de propriété est supérieure ou égale à la valeur spécifiée dans la restriction de propriété. |
Date/heure Integer Decimal Double |
| <> |
Renvoie les résultats de recherche lorsque la valeur de propriété n'est pas égale à la valeur spécifiée dans la restriction de propriété. |
Date/heure Integer Decimal Text Double YesNo |
| .. |
Renvoie les résultats de recherche lorsque la valeur de propriété est comprise dans la plage spécifiée dans la restriction de propriété. Par exemple, la plage A..B représente un ensemble de valeurs comprises entre A et B, où A et B sont inclus. Pour les plages de dates, A indique le début de la journée et B, la fin. |
Date/heure Integer Decimal Double |
Spécification des valeurs de propriété
Vous devez spécifier une valeur de propriété étant un type de données valide pour le type de la propriété gérée. Le tableau 3 répertorie ces mappages de types.
Tableau 3. Mappages de types de données valides pour les types de propriété gérée
| Type géré | Type de données |
|---|---|
|
Text |
String |
|
Integer |
Int64 |
|
Double |
System.Double |
|
Decimal |
Decimal |
|
DateTime() |
DateTime |
|
YesNo |
Boolean |
Valeurs de propriété de texte
Pour les valeurs de propriété de texte, le comportement de correspondance dépend du stockage de la propriété dans l'index de texte intégral ou dans l'index de recherche.
Valeurs de propriété dans l'index de texte intégral
Les valeurs de propriété sont stockées dans l'index de texte intégral lorsque la propriété FullTextQueriable est définie sur true pour une propriété gérée. Vous pouvez configurer cette fonction uniquement pour les propriétés de chaîne. Les valeurs de propriété spécifiées dans la requête sont mises en correspondance en fonction des termes individuels stockés dans l'index de texte intégral. Utilisez la propriété NoWordBreaker pour spécifier si les valeurs doivent correspondre à la valeur totale de la propriété.
Par exemple, si vous recherchez un élément de contenu créé par Paul Shakespear, la requête KeyQL suivante retourne des résultats correspondants :
author:Shakespear
author:Paul
La correspondance de préfixe est également prise en charge. Vous pouvez utiliser l’opérateur générique (*), mais il n’est pas obligatoire lorsque vous spécifiez des mots individuels. Pour poursuivre avec l’exemple précédent, la requête KeyQL suivante retourne les éléments de contenu créés par Paul Shakespear comme correspondant :
author:Shakesp*
Lorsque vous spécifiez une expression pour la valeur de la propriété, les résultats correspondants doivent contenir l’expression spécifiée dans la valeur de propriété stockée dans l’index de texte intégral. L’exemple de requête suivant retourne des éléments de contenu avec le texte « Recherche avancée » dans le titre, par exemple « Advanced Search XML », « Learning About the Advanced Search WebPart », et ainsi de suite :
title:"Advanced Search"
La correspondance de préfixe est également prise en charge avec des expressions spécifiées dans les valeurs de propriété. Toutefois, vous devez utiliser l'opérateur générique (*) dans la requête ; celui-ci est pris en charge uniquement lorsqu'il est situé à la fin de l'expression, comme suit :
title:"Advanced Sear*"
Les requêtes suivantes ne renvoient pas les résultats attendus :
title:"Advan* Search"
title:"Advanced Sear"
Valeurs numériques pour les propriétés
Pour les valeurs de propriété numériques qui incluent les types gérés Integer, Double et Decimal, la restriction de propriété correspond à la valeur totale de la propriété.
Valeurs de date ou d'heure des propriétés
KeyQL fournit le type de données datetime pour date et heure. Les formats datetime compatibles ISO 8601 suivants sont pris en charge dans les requêtes :
- YYYY-MM-DD
- YYYY-MM-DDThh:mm:ss
- YYYY-MM-DDThh:mm:ssZ
- YYYY-MM-DDThh:mm:ssfrZ
Dans ces formats datetime:
YYYY indique une année à quatre chiffres.
Remarque
Seules les années à quatre chiffres sont prises en charge.
MM spécifie un mois à deux chiffres. Par exemple, 01 = janvier.
DD spécifie un jour du mois à deux chiffres (01 à 31).
T spécifie la lettre « T ».
hh spécifie une heure à deux chiffres (00 à 23) ; L’indication A.M./P.M. n’est pas autorisée.
mm spécifie une minute à deux chiffres (00 à 59).
ss spécifie une seconde à deux chiffres (00 à 59).
fr spécifie une fraction facultative de secondes, ss ; entre 1 et 7 chiffres qui suivent le . après les secondes. Par exemple, 2012-09-27T11:57:34.1234567.
Toutes les valeurs de date/d'heure doivent être spécifiées suivant l'UTC (temps universel coordonné), aussi connu comme heure de Greenwich (GMT). L'identificateur de fuseau horaire UTC (caractère « Z » de fin) est facultatif.
Intervalles de date pertinents pris en charge par KeyQL
KeyQL vous permet de créer des requêtes de recherche qui prennent en charge une requête de plage « jour » relative, avec des mots clés réservés, comme indiqué dans le tableau 4. Utilisez des guillemets doubles (" ") pour les intervalles de date et introduisez un espace entre leurs noms.
Les correspondances incluent les éléments modifiés aujourd’hui :
LastModifiedTime=today
Les correspondances incluent les éléments entre le début et la fin de l'année en cours :
LastModifiedTime="this year"
Les correspondances incluent les éléments du 1er janvier 2019 au 26 avril 2019 :
LastModifiedTime>=2019-01-01 AND LastModifiedTime<=2019-04-26
Tableau 4. Mots clés réservés à l’intervalle de date
| Nom de l'intervalle de dates | Description |
|---|---|
| aujourd’hui |
Représente le temps écoulé entre le début et la fin du jour en cours. |
| yesterday |
Représente le temps écoulé entre le début du jour et la fin du jour qui précède celui en cours. |
| this week |
Représente le temps écoulé entre le début et la fin de la semaine en cours. La culture dans laquelle le texte de la requête a été formulé est prise en compte pour déterminer le premier jour de la semaine. |
| this month |
Représente le temps écoulé entre le début et la fin du mois en cours. |
| last month |
Représente l'ensemble du mois qui précède le mois en cours. |
| this year |
Représente le temps écoulé entre le début et la fin de l'année en cours. |
| last year |
Représente l'ensemble de l'année qui précède l'année en cours. |
Utilisation de plusieurs restrictions de propriété dans une requête KeyQL
La recherche dans SharePoint prend en charge l’utilisation de plusieurs restrictions de propriété dans la même requête KeyQL. Vous pouvez utiliser la même propriété pour plusieurs restrictions de propriété ou une propriété différente pour chaque restriction de propriété.
Lorsque vous utilisez plusieurs instances de la même restriction de propriété, les correspondances sont basées sur l’union des restrictions de propriété dans la requête KeyQL. Les correspondances incluent dans ce cas des éléments de contenu publiés par John Smith ou Jane Smith, comme suit :
author:"John Smith" author:"Jane Smith"
Cette fonctionnalité est identique à l'utilisation de l'opérateur booléen OR, comme suit :
author:"John Smith" OR author:"Jane Smith"
Lorsque vous utilisez différentes restrictions de propriété, les correspondances sont basées sur une intersection des restrictions de propriété dans la requête KeyQL, comme suit :
author:"John Smith" filetype:docx
Les correspondances incluent dans ce cas les documents Microsoft Word rédigés par John Smith. L'utilisation est la même qu'avec l'opérateur booléen AND, comme suit :
author:"John Smith" AND filetype:docx
Regroupement de restrictions de propriété au sein d’une requête KeyQL
S’applique à : Office 365 | SharePoint Online | SharePoint 2019
Vous pouvez utiliser des parenthèses () pour regrouper plusieurs restrictions de propriété liées à une propriété spécifique de type Texte au format suivant :
<Property Name>:(<Expression>)
Les requêtes plus avancées peuvent tirer parti de la () notation pour créer des expressions de requête plus condensées et lisibles.
La requête :
author:"John Smith" AND author:"Jane Smith"
peut être réécrite comme suit :
author:("John Smith" "Jane Smith")
La requête :
title:Advanced title:Search title:Query NOT title:"Advanced Search Query"
peut être réécrite comme suit :
title:((Advanced OR Search OR Query) -"Advanced Search Query")
La requête :
title:Advanced XRANK(cb=1) title:Search XRANK(cb=1) title:Query
peut être réécrite comme suit :
title:(Advanced XRANK(cb=1) Search XRANK(cb=1) Query)
Remarque
Lorsque vous utilisez () pour regrouper une expression sur une requête de propriété, le nombre de correspondances peut augmenter à mesure que des mots de requête individuels sont lemmatisés, ce qui n’est pas le cas autrement. Les phrases entre guillemets ne sont pas lemmatisées.
title:page return correspond à la page de termes exacte, tandis que title:(page) renvoie également des correspondances pour les pages de terme.
Filtrer sur les éléments où une propriété de texte est vide ou contient une valeur
Concerne : Office 365 | SharePoint Online
Pour les propriétés managées de type Text dans le schéma de recherche qui sont définies sur Queryable, vous pouvez utiliser l’opérateur générique (*) comme expression de propriété pour filtrer sur les éléments qui ont une valeur ou qui n’ont pas de valeur.
Syntaxe pour retourner des éléments pour lesquels une propriété de texte a une valeur :
<Property Name>:*
Syntaxe pour retourner les éléments pour lesquels une propriété de texte n’a pas de valeur :
NOT <Property Name>:*
L’exemple suivant retourne les sites associés à un site hub, à l’exclusion des sites hub eux-mêmes :
(DepartmentId:* OR RelatedHubSites:*) AND contentclass:sts_site NOT IsHubSite:true
opérateurs KeyQL pour les requêtes complexes
KeyQL syntaxe comprend plusieurs opérateurs que vous pouvez utiliser pour construire des requêtes complexes.
Opérateurs booléens
Utilisez des opérateurs booléens pour élargir ou affiner votre recherche. Vous pouvez utiliser des opérateurs booléens avec des expressions de texte libre et des restrictions de propriété dans KeyQL requêtes. Le tableau 5 répertorie les opérateurs booléens pris en charge.
Tableau 5. Opérateurs booléens pris en charge dans KeyQL
| Opérateur | Description |
|---|---|
|
AND |
Renvoie les résultats de recherche qui incluent toutes les expressions de texte libre ou des restrictions de propriété spécifiées avec l'opérateur AND. Vous devez spécifier une expression de texte libre valide et/ou une restriction de propriété valide, avant et après l’opérateur AND . L'utilisation est la même qu'avec le signe plus (« + »). |
|
NOT |
Renvoie les résultats de recherche qui n'incluent pas les expressions de texte libre ou les restrictions de propriété spécifiées. Vous devez spécifier une expression de texte libre valide ou une restriction de propriété valide suivant l'opérateur NOT. L'utilisation est la même qu'avec le signe moins (« - »). |
|
OU |
Renvoie les résultats de recherche qui comprennent des expressions de texte libre ou des restrictions de propriété spécifiées. Vous devez spécifier une expression de texte libre valide et/ou une restriction de propriété valide, qui précède et suit l’opérateur OR . |
Opérateurs de proximité
Vous utilisez des opérateurs de proximité pour correspondre aux résultats où les termes de recherche spécifiés sont proches les uns des autres. Les opérateurs de proximité ne peuvent être utilisés qu’avec des expressions de texte libre ; ils ne sont pas pris en charge avec les restrictions de propriété dans les requêtes KeyQL. Il existe deux opérateurs de proximité : NEAR et ONEAR.
Opérateur NEAR
L'opérateur NEAR correspond aux résultats où les termes de recherche spécifiés sont proches les uns des autres, sans préserver l'ordre des termes. La syntaxe de NEAR est la suivante :
<expression> NEAR(n=4) <expression>
Où n est un paramètre facultatif qui indique la distance maximale entre les termes. La valeur n est un entier >= 0 avec la valeur par défaut 8.
Le paramètre n peut être spécifié comme n=v étant l’emplacement où v représente la valeur, ou raccourci en v uniquement ; par NEAR(4) exemple, où v est égal à 4.
Par exemple :
"acquisition" NEAR "debt"
Cette requête correspond aux éléments où les termes « acquisition » et « dette » apparaissent tous deux, où une instance du terme « acquisition » est suivie d'un nombre maximal de huit autres termes, puis d'une instance du terme « dette » ou vice-versa. L'ordre des termes n'est pas significatif pour la correspondance.
Si votre distance entre les termes doit être inférieure, vous pouvez le spécifier. La requête suivante correspond aux éléments où les termes « acquisition » et « dette » apparaissent dans le même élément, où la distance maximale de 3 entre les termes. Là encore, l’ordre des termes n’affecte pas la correspondance.
"acquisition" NEAR(n=3) "debt"
Remarque
Dans SharePoint, l’opérateur NEAR ne conserve plus l’ordre des jetons. Désormais, l’opérateur NEAR reçoit un paramètre facultatif qui indique la distance maximale du jeton. Toutefois, la valeur par défaut est toujours 8. Si vous devez utiliser le comportement précédent, utilisez ONEAR.
Opérateur ONEAR
L'opérateur ONEAR correspond aux résultats où les termes de recherche spécifiés sont proches les uns des autres, tout en préservant l'ordre des termes. La syntaxe de ONEAR est la suivante, où n est un paramètre facultatif qui indique la distance maximale entre les termes. La valeur n est un entier >= 0 avec la valeur par défaut 8.
<expression> ONEAR(n=4) <expression>
Le paramètre n peut être spécifié comme n=v étant l’emplacement où v représente la valeur, ou raccourci en v uniquement ; par ONEAR(4) exemple, où v est égal à 4.
Par exemple, la requête suivante correspond aux éléments où les termes « acquisition » et « dette » apparaissent dans le même élément, où un instance de « acquisition » est suivi d’un maximum de huit autres termes, puis d’une instance du terme « dette ». L'ordre des termes doit correspondre pour qu'un élément soit renvoyé :
"acquisition" ONEAR "debt"
Si vous avez besoin d'une distance inférieure entre les termes, vous pouvez le spécifier. Cette requête correspond aux éléments où les termes « acquisition » et « dette » apparaissent dans le même élément, où la distance maximale de 3 entre les termes. L'ordre des termes doit correspondre pour qu'un élément soit renvoyé :
"acquisition" ONEAR(n=3) "debt"
Opérateurs de synonyme
Utilisez l'opérateur WORDS pour spécifier que les termes de la requête sont synonymes, et que les résultats renvoyés doivent correspondre à l'un des termes spécifiés. Vous pouvez utiliser l’opérateur WORDS avec des expressions de texte libre uniquement ; il n’est pas pris en charge avec les restrictions de propriété dans les requêtes KeyQL.
L'exemple de requête suivant correspond à des résultats qui contiennent soit le terme « TV » soit le terme « télévision ». Ce comportement de correspondance est le même que si vous aviez utilisé la requête suivante :
WORDS(TV, Television)
TV OR Television
Ces requêtes diffèrent dans la façon dont les résultats sont classés. Lorsque vous utilisez l'opérateur WORDS, les termes « TV » et « télévision » ne sont pas traités comme des termes différents mais comme des synonymes. Par conséquent, les instances de l'un des deux termes sont classées comme s'il s'agissait d'un même terme. Par exemple, un élément de contenu qui contenait une instance du terme « télévision » et cinq instances du terme « TV » obtiennent un classement identique à un élément de contenu qui comporte six instances du terme « Télévision ».
Opérateur générique
Utilisez l’opérateur générique (l’astérisque « * ») pour permettre la correspondance du préfixe. Vous pouvez spécifier une partie d’un mot, depuis le début du mot, suivie de l’opérateur générique dans votre requête, comme suit. Cette requête correspond aux résultats qui incluent des termes commençant par « serv », suivi de zéro ou de plusieurs caractères (par exemple, servir, serveur, service) :
serv*
Opérateurs d’inclusion et d’exclusion
Vous pouvez spécifier si les résultats renvoyés doivent inclure ou exclure le contenu qui correspond à la valeur spécifiée dans l'expression de texte libre ou la restriction de propriété, en utilisant les opérateurs d'inclusion et d'exclusion décrits dans le tableau 6.
Tableau 6. Opérateurs de contenu d’inclusion et d’exclusion dans les résultats
| Nom | Opérateur | Comportement |
|---|---|---|
| Inclusion |
" + " |
Inclut le contenu avec les valeurs correspondant à l'inclusion. Il s'agit du comportement par défaut si aucun caractère n'est spécifié. L'utilisation est la même qu'avec l'opérateur AND. |
| Exclusion |
" - " |
Exclut le contenu qui comporte les valeurs correspondant à l'exclusion. L'utilisation est la même qu'avec un opérateur NOT. |
Opérateur de rang dynamique
utilisez l'opérateur XRANK pour améliorer le rang dynamique d'éléments en fonction de certaines occurrences du terme dans l' match expression, sans modifier les éléments correspondant à la requête. Une expression XRANK contient un composant qui doit être mis en correspondance, l’expression de correspondance et un ou plusieurs composants qui contribuent uniquement au classement dynamique, l’expression de classement. Au moins un des paramètres, excepté n, doit être spécifié pour qu'une expression XRANK soit valide.
Remarque
La latence de la requête (et la probabilité de son expiration) augmente lorsque vous utilisez des requêtes complexes et en particulier lorsque vous utilisez des opérateurs XRANK. L’augmentation de la latence de la requête dépend du nombre d’opérateurs XRANK et du nombre de correspondances dans les composants match expression et rank expression dans l’arborescence de la requête.
Les expressions de correspondance peuvent être n’importe quelle expression KeyQL valide, y compris les expressions XRANK imbriquées. Les expressions de classement peuvent être n’importe quelle expression KeyQL valide sans expressions XRANK. Si vos requêtes KeyQL ont plusieurs opérateurs XRANK, la valeur de classement dynamique finale est calculée sous la forme d’une somme de boosts pour tous les opérateurs XRANK.
Remarque
Utilisez des parenthèses pour indiquer explicitement l’ordre de calcul des requêtes KeyQL qui ont plusieurs opérateurs XRANK au même niveau.
Vous pouvez utiliser l’opérateur XRANK dans la syntaxe suivante :
<match expression> XRANK(cb=100, rb=0.4, pb=0.4, avgb=0.4, stdb=0.4, nb=0.4, n=200) <rank expression>
Le calcul du rang dynamique de l'opérateur XRANK est calculé selon la formule suivante :
Le tableau 7 répertorie les paramètres de base disponibles pour l'opérateur XRANK.
Tableau 7. Paramètres de l’opérateur XRANK
| Paramètre | Valeur | Description |
|---|---|---|
|
n |
<integer_value> |
Indique le nombre de résultats sur lesquels le calcul des statistiques doit s’appuyer. Ce paramètre n'a pas d'incidence sur le nombre de résultats auquel contribue le rang dynamique ; il s'agit juste d'un moyen d'exclure les éléments non pertinents des calculs statistiques. Par défaut : 0. Une valeur zéro porte la sémantique de tous les documents . |
|
nb |
<float_value> |
Le paramètre nb fait référence à un renforcement normalisé. Ce paramètre indique le facteur multiplié par le produit de la variance et le score moyen des valeurs de rang de l'ensemble des résultats. f dans la formule XRANK. |
En règle générale, le boost normalisé, nb, est le seul paramètre qui est modifié. Il fournit le contrôle nécessaire pour promouvoir ou abaisser un élément en particulier, sans prendre en compte l’écart type.
Les paramètres avancés suivants sont également disponibles. Cependant, ils ne sont généralement pas utilisés.
Tableau 8. Paramètres avancés de l’opérateur XRANK
| Paramètre | Valeur | Description |
|---|---|---|
|
cb |
<float_value> |
Le paramètre cb fait référence au renforcement constant. Valeur par défaut : 0. a dans la formule XRANK. |
|
stdb |
<float_value> |
Le paramètre stdb fait référence à l'augmentation de l'écart type. Valeur par défaut : 0. e dans la formule XRANK. |
|
avgb |
<float_value> |
Le paramètre avgb fait référence au renforcement moyen. Valeur par défaut : 0. d dans la formule XRANK. |
|
rb |
<float_value> |
Le paramètre rb fait référence au renforcement de la plage. Ce facteur est multiplié par la plage de valeurs de rang dans l'ensemble des résultats. Valeur par défaut : 0. b dans la formule XRANK. |
|
pb |
<float_value> |
Le paramètre pb fait référence au renforcement du pourcentage. Ce facteur est multiplié par le rang de chaque élément par rapport à la valeur minimale dans le corpus. Valeur par défaut : 0. c dans la formule XRANK. |
Exemples
Exemple 1. L'expression suivante correspond aux éléments pour lesquels l'index de texte intégral par défaut contient les termes « chat » ou « chien ». L'expression augmente le rang dynamique de ces éléments avec un renforcement constant de 100 pour les éléments qui comprennent également les termes « pur-sang ».
(cat OR dog) XRANK(cb=100) thoroughbred
Exemple 2. L'expression suivante correspond aux éléments pour lesquels l'index de texte intégral par défaut contient les termes « chat » ou « chien ». L'expression augmente le rang dynamique de ces éléments avec un renforcement normalisé de 1,5 pour les éléments qui comprennent également les termes « pur-sang ».
(cat OR dog) XRANK(nb=1.5) thoroughbred
Exemple 3. L'expression suivante correspond aux éléments pour lesquels l'index de texte intégral par défaut contient les termes « chat » ou « chien ». L'expression augmente le rang dynamique de ces éléments avec un renforcement constant de 100 et un renforcement normalisé de 1,5 pour les éléments qui comprennent également les termes « pur-sang ».
(cat OR dog) XRANK(cb=100, nb=1.5) thoroughbred
Exemple 4. L'expression suivante correspond aux éléments contenant le terme « animaux » et augmente le rang dynamique comme suit :
- Le rang dynamique des éléments qui contiennent le terme « chiens » est augmenté de 100 points.
- Le rang dynamique des éléments qui contiennent le terme « chats » est augmenté de 200 points.
- Le rang dynamique des éléments qui contiennent les termes « chiens » et « chats » est renforcé de 300 points.
(animals XRANK(cb=100) dogs) XRANK(cb=200) cats
Parenthèse
Vous pouvez combiner les différentes parties d'une requête de mot clé en utilisant une parenthèse ouvrante « ( » et une parenthèse fermante « ) ». Chaque parenthèse ouvrante « ( » doit avoir une parenthèse fermante correspondante « ) ». La présence d'espace avant ou après la parenthèse n'a pas d'incidence sur la requête.