Partager via


Référence de syntaxe de langage de requête de mot clé (KQL)

Apprenez à créer des requêtes KQL pour Recherche dans SharePoint. Cette référence de syntaxe décrit les éléments de requête KQL et l'utilisation des restrictions de propriété et les opérateurs dans les requêtes KQL.

Éléments d’une requête KQL

Une requête KQL se compose des éléments suivants :

  • Mots clés de texte libre (mots ou expressions)

  • Restrictions de propriété

Vous pouvez combiner des éléments de requête KQL avec un ou plusieurs des opérateurs disponibles.

Si la requête KQL est vide ou contient uniquement des opérateurs, elle n'est pas valide. Les requêtes KQL ne respectent pas la casse, mais les opérateurs si (majuscules).

Remarque

La longueur limite d’une requête KQL varie en fonction de la méthode de création utilisée. Si vous avez utilisé la recherche frontale SharePoint par défaut, la longueur est limitée à 2 048 caractères. Toutefois, les requêtes KQL créées via un programme à l’aide du modèle objet de requête ont une longueur par défaut limitée à 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).

Création de requêtes KQL de texte libre

Lorsque vous créez votre requête KQL à l'aide d'expressions de texte libre, 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 texte intégral. Cela inclut les valeurs de propriété managée où FullTextQueriable a la valeur true.

Les requêtes KQL de texte libre ne respectent pas la casse, mais les opérateurs doivent être en majuscules. Vous pouvez créer des requêtes KQL en utilisant les éléments suivants comme expressions de texte libre :

  • 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 créer des requêtes complexes, vous pouvez combiner plusieurs expressions de texte libre avec les opérateurs de requête KQL. 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 une requête KQL de texte libre

Lorsque vous utilisez des mots dans une requête KQL de texte libre, Recherche dans SharePoint renvoie les résultats en fonction des correspondances exactes de vos mots avec les termes stockés dans l'index de 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 la correspondance de préfixe, Recherche dans SharePoint renvoie les résultats des termes qui contiennent le mot suivi de zéro ou d'autres caractères.

Par exemple, les requêtes KQL suivantes renvoient les éléments de contenu qui comprennent les termes « federated » et « search » :

federated search

federat* search

search fed*

Les requêtes KQL 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 KQL en texte libre

Lorsque vous utilisez des expressions dans une requête KQL de texte libre, Recherche dans SharePoint renvoie uniquement les éléments dans lesquels les mots de votre expression sont situés côte à côte. Pour spécifier une expression dans une requête KQL, vous devez utiliser des guillemets doubles.

Les requêtes KQL 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 en texte libre. Cependant, vous pouvez l’utiliser après une expression.

Requêtes de restriction de propriété dans KQL

KQL permet de créer des requêtes qui utilisent des restrictions de propriété pour limiter le champ de la requête afin d'obtenir uniquement des résultats basés sur 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 des exemples de syntaxe de restriction de propriété valide dans les requêtes KQL.

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 écrit par Paul Shakespear, la requête KQL suivante renvoie les 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 cela n'est pas obligatoire lorsque vous spécifiez des mots individuels. Pour revenir à l'exemple précédent, la requête KQL suivante renvoie des éléments de contenu publiés par Paul Shakespear comme correspondances :

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 renvoie 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

KQL fournit le type de données datetime de date et d'heure. Les formats suivants de date/heure compatibles avec ISO 8601 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 AM/PM 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 dates pertinents pris en charge par KQL

KQL vous permet de créer des requêtes de recherche qui prennent en charge la requête de plage de « jour » contenant 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 entre le 1er janvier 2019 et le 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é au sein d'une requête KQL

Recherche dans SharePoint prend en charge l'utilisation de plusieurs restrictions de propriété au sein de la même requête KQL. 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 KQL. 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 KQL, 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 KQL

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 les mots individuels de la requête sont lemmatisés, ce qui n'est pas le cas autrement. Les phrases entre guillemets ne sont pas lemmatisées.

title:page renvoie les correspondances avec le terme exact page alors que title:(page) renvoie également les correspondances pour le terme pages.

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 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 des é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 KQL pour les requêtes complexes

La syntaxe KQL inclut 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 les opérateurs booléens avec des expressions de texte libre et des restrictions de propriété dans les requêtes KQL. Le tableau 5 répertorie les opérateurs booléens pris en charge.

Tableau 5. Opérateurs booléens pris en charge dans KQL

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 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 et/ou une restriction de propriété valide avant et après 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 par les restrictions de propriété dans les requêtes KQL. 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>

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=vv représente la valeur, ou raccourci à v uniquement; par exemple NEAR(4) , 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 renvoie les éléments où les termes « acquisition » et « dette » apparaissent dans le même élément, avec une distance maximale de 3 entre les termes. Là encore, l'ordre des termes n'a pas d'incidence sur 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=vv représente la valeur, ou raccourci à v uniquement; par exemple ONEAR(4) , 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ù une instance de « acquisition » est suivie 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. La requête suivante renvoie les éléments où les termes « acquisition » et « dette » apparaissent dans le même élément, avec une 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 ne pouvez utiliser l'opérateur WORDS qu'avec les expressions de texte libre ; Celui-ci n'est pas pris en charge avec les restrictions de propriété dans les requêtes KQL.

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.

Match expressions peut être toute expression valide de KQL, y compris des expressions XRANK imbriquées. Rank expressions peut être toute expression valide de KQL sans expressions XRANK. Si vos requêtes KQL possèdent plusieurs opérateurs XRANK, la valeur de rang dynamique finale est calculée comme étant la somme des renforcements sur tous les opérateurs XRANK.

Remarque

Utilisez des parenthèses pour indiquer explicitement l’ordre de calcul pour les requêtes KQL ayant plus d’un opérateur 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 :

Formule pour l’opérateur XRANK

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 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.

Voir aussi