Référence de syntaxe de langage de requête de mot clé (KQL)Keyword Query Language (KQL) syntax reference

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.Learn to construct KQL queries for Search in SharePoint. This syntax reference describes KQL query elements and how to use property restrictions and operators in KQL queries.

Éléments d'une requête KQLElements of a KQL query

Une requête KQL se compose des éléments suivants :A KQL query consists of one or more of the following elements:

  • Mots clés de texte libre (mots ou expressions)Free text-keywords—words or phrases

  • Restrictions de propriétéProperty restrictions

Vous pouvez combiner des éléments de requête KQL avec un ou plusieurs des opérateurs disponibles.You can combine KQL query elements with one or more of the available operators.

Si la requête KQL contient uniquement des opérateurs ou si elle est vide, elle n’est pas valide. Les requêtes KQL ne respectent pas la casse, contrairement aux opérateurs (en majuscules).If the KQL query contains only operators or is empty, it isn't valid. KQL queries are case-insensitive but the operators are case-sensitive (uppercase).

Notes

La longueur limite d’une requête KQL varie en fonction de la méthode de création utilisée.The length limit of a KQL query varies depending on how you create it. Si vous avez utilisé la recherche frontale SharePoint par défaut, la longueur est limitée à 2 048 caractères.If you create the KQL query by using the default SharePoint search front end, the length limit is 2,048 characters. 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.However, KQL queries you create programmatically by using the Query object model have a default length limit of 4,096 characters. Vous pouvez augmenter cette limite à 20 480 caractères à l’aide des propriétés MaxKeywordQueryTextLength ou DiscoveryMaxKeywordQueryTextLength (pour eDiscovery).You can increase this limit up to 20,480 characters by using the MaxKeywordQueryTextLength property or the DiscoveryMaxKeywordQueryTextLength property (for eDiscovery).

Création de requêtes KQL de texte libreConstructing free-text queries using KQL

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 comprend les valeurs des propriétés gérées, où FullTextQueriable est définie sur true.When you construct your KQL query by using free-text expressions, Search in SharePoint matches results for the terms you chose for the query based on terms stored in the full-text index. This includes managed property values where FullTextQueriable is set to 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 :Free text KQL queries are case-insensitive but the operators must be in uppercase. You can construct KQL queries by using one or more of the following as free-text expressions:

  • Un word (inclut un ou plusieurs caractères sans espace ni ponctuation)A word (includes one or more characters without spaces or punctuation)

  • Une phrase (inclut deux ou plusieurs mots, séparés par des espaces ; toutefois, les mots doivent être placés entre guillemets)A phrase (includes two or more words together, separated by spaces; however, the words must be enclosed in double quotation marks)

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.To construct complex queries, you can combine multiple free-text expressions with KQL query operators. If there are multiple free-text expressions without any operators in between them, the query behavior is the same as using the AND operator.

Utilisation de mots dans une requête KQL de texte libreUsing words in the free-text KQL query

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.When you use words in a free-text KQL query, Search in SharePoint returns results based on exact matches of your words with the terms stored in the full-text index. You can use just a part of a word, from the beginning of the word, by using the wildcard operator (*) to enable prefix matching. In prefix matching, Search in SharePoint matches results with terms that contain the word followed by zero or more characters.

Par exemple, les requêtes KQL suivantes renvoient les éléments de contenu qui comprennent les termes « federated » et « search » :For example, the following KQL queries return content items that contain the terms "federated" and "search":

federated search

federat* search

search fed*

Les requêtes KQL ne prennent pas en charge le suffixe correspondant.KQL queries don't support suffix matching.

Utilisation d'expressions dans la requête KQL en texte libreUsing phrases in the free-text KQL query

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.When you use phrases in a free-text KQL query, Search in SharePoint returns only the items in which the words in your phrase are located next to each other. To specify a phrase in a KQL query, you must use double quotation marks.

Les requêtes KQL ne prennent pas en charge le suffixe correspondant, de sorte que vous ne pouvez pas placer 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.KQL queries don't support suffix matching, so you can't use the wildcard operator before a phrase in free-text queries. However, you can use the wildcard operator after a phrase.

Requêtes de restriction de propriété dans KQLProperty restriction queries in 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.Using KQL, you can construct queries that use property restrictions to narrow the focus of the query to match only results based on a specified condition.

Spécification de restrictions de propriétéSpecifying property restrictions

Une restriction de propriété de base comprend les éléments suivants :A basic property restriction consists of the following:

<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.Table 1 lists some examples of valid property restrictions syntax in KQL queries.

Tableau 1. Syntaxe de restriction de propriété valideTable 1. Valid property restriction syntax

SyntaxeSyntax RenvoieReturns
author:"John Smith"
Renvoie les éléments contenus créés par John Smith.Returns content items authored by John Smith.
filetype:docx
Renvoie les documents Microsoft Word.Returns Microsoft Word documents.
filename:budget.xlsx
Renvoie les éléments de contenu avec le nom de fichier budget.xlsx.Returns content items with the file name budget.xlsx.

La restriction de propriété ne doit pas comporter d'espace blanc entre le nom, l'opérateur et la valeur de la propriété. Dans le cas contraire, la restriction de propriété est considérée comme une requête de texte libre. La longueur d'une restriction de propriété est limitée à 2 048 caractères.The property restriction must not include white space between the property name, property operator, and the property value, or the property restriction is treated as a free-text query. The length of a property restriction is limited to 2,048 characters.

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 :In the following examples, the white space causes the query to return content items containing the terms "author" and "John Smith", instead of content items authored by 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 :In other words, the previous property restrictions are equivalent to the following:

author "John Smith"

Spécification de noms de propriété pour les restrictions de propriétéSpecifying property names for property restrictions

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.You must specify a valid managed property name for the property restriction. By default, Search in SharePoint includes several managed properties for 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).To specify a property restriction for a crawled property value, you must first map the crawled property to a managed property. See Managed and crawled properties in Plan the end-user search experience.

La propriété gérée doit être Queryable de sorte que vous puissiez rechercher cette propriété géré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.The managed property must be Queryable so that you can search for that managed property in a document. In addition, the managed property may be Retrievable for the managed property to be retrieved. However, the managed property doesn't have to be Retrievable to carry out property searches.

Opérateurs de propriété pris en charge dans les restrictions de propriétéProperty operators that are supported in property restrictions

Recherche dans SharePoint prend en charge plusieurs opérateurs de propriété pour les restrictions de propriété, comme indiqué dans le tableau 2.Search in SharePoint supports several property operators for property restrictions, as shown in Table 2.

Tableau 2. Opérateurs de propriété valides pour les restrictions de propriétéTable 2. Valid property operators for property restrictions

OpérateurOperator DescriptionDescription Type de propriété gérée pris en chargeSupported managed property type
 ::
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.Returns results where the value specified in the property restriction is equal to the property value that is stored in the Property Store database, or matches individual terms in the property value that is stored in the full-text index.
TextText
Date/heureDateTime
IntegerInteger
DecimalDecimal
DoubleDouble
YesNoYesNo
=
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é.Returns search results where the property value is equal to the value specified in the property restriction.
Remarque : nous ne recommandons pas de combiner l’opérateur = avec un astérisque (*) quand vous effectuez une recherche par correspondance exacte.Note: We do not recommend combining the = operator together with asterisk ( *) when you do exact matching.
TextText
Date/heureDateTime
IntegerInteger
DecimalDecimal
DoubleDouble
YesNoYesNo
<
Renvoie les résultats lorsque la valeur de propriété est inférieure à la valeur spécifiée dans la restriction de propriété.Returns results where the property value is less than the value specified in the property restriction.
Date/heureDateTime
IntegerInteger
DecimalDecimal
DoubleDouble
>
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é.Returns search results where the property value is greater than the value specified in the property restriction.
Date/heureDateTime
IntegerInteger
DecimalDecimal
DoubleDouble
<=
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é.Returns search results where the property value is less than or equal to the value specified in the property restriction.
Date/heureDateTime
IntegerInteger
DecimalDecimal
DoubleDouble
>=
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é.Returns search results where the property value is greater than or equal to the value specified in the property restriction.
Date/heureDateTime
IntegerInteger
DecimalDecimal
DoubleDouble
<>
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é.Returns search results where the property value does not equal the value specified in the property restriction.
Date/heureDateTime
IntegerInteger
DecimalDecimal
TextText
DoubleDouble
YesNoYesNo
....
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é.Returns search results where the property value falls within the range specified in the property restriction.
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.For example, the range A..B represents a set of values from A to B where both A and B are inclusive. For date ranges this means from the beginning of day A to the end of day B.
Date/heureDateTime
IntegerInteger
DecimalDecimal
DoubleDouble

Spécification des valeurs de propriétéSpecifying property values

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.You must specify a property value that is a valid data type for the managed property's type. Table 3 lists these type mappings.

Tableau 3. Mappages de types de données valides pour les types de propriété géréeTable 3. Valid data type mappings for managed property types

Type géréManaged type Type de donnéesData type
TextText
StringString
IntegerInteger
Int64Int64
DoubleDouble
System.DoubleSystem.Double
DecimalDecimal
DecimalDecimal
DateTime()DateTime()
DateTimeDateTime
YesNoYesNo
BooleanBoolean

Valeurs de propriété de texteText property values

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.For text property values, the matching behavior depends on whether the property is stored in the full-text index or in the search index.

Valeurs de propriété dans l'index de texte intégralProperty values in the full-text index

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é.Property values are stored in the full-text index when the FullTextQueriable property is set to true for a managed property. You can configure this only for string properties. Property values that are specified in the query are matched against individual terms that are stored in the full-text index. Use the NoWordBreaker property to specify whether to match with the whole property value.

Par exemple, si vous recherchez un élément de contenu écrit par Paul Shakespear, la requête KQL suivante renvoie les résultats correspondants :For example, if you're searching for a content item authored by Paul Shakespear, the following KQL query returns matching results:

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 :Prefix matching is also supported. You can use the wildcard operator (*), but isn't required when you specify individual words. Continuing with the previous example, the following KQL query returns content items authored by Paul Shakespear as matches:

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 les éléments de contenu avec le texte « Advanced Search » dans le titre, comme « Advanced Search XML », « Learning About the Advanced Search Web Part » etc. :When you specify a phrase for the property value, matched results must contain the specified phrase within the property value that is stored in the full-text index. The following query example returns content items with the text "Advanced Search" in the title, such as "Advanced Search XML", "Learning About the Advanced Search web part", and so on:

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 :Prefix matching is also supported with phrases specified in property values, but you must use the wildcard operator (*) in the query, and it is supported only at the end of the phrase, as follows:

title:"Advanced Sear*"

Les requêtes suivantes ne renvoient pas les résultats attendus :The following queries do not return the expected results:

title:"Advan* Search"

title:"Advanced Sear"

Valeurs numériques pour les propriétésNumerical values for properties

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é.For numerical property values, which include the Integer, Double, and Decimal managed types, the property restriction is matched against the entire value of the property.

Valeurs de date ou d'heure des propriétésDate or time values for properties

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 :KQL provides the datetime data type for date and time.The following ISO 8601-compatible datetime formats are supported in queries:

  • YYYY-MM-DDYYYY-MM-DD

  • YYYY-MM-DDThh:mm:ssYYYY-MM-DDThh:mm:ss

  • YYYY-MM-DDThh:mm:ssZYYYY-MM-DDThh:mm:ssZ

  • YYYY-MM-DDThh:mm:ssfrZYYYY-MM-DDThh:mm:ssfrZ

Dans ces formats datetime:In these datetime formats:

  • YYYY indique une année à quatre chiffres.YYYY specifies a four-digit year.

    Notes

    Seules les années à quatre chiffres sont prises en charge.Only four-digit years are supported.

  • MM indique un mois à deux chiffres. Par exemple, 01 = janvier.MM specifies a two-digit month. For example, 01 = January.

  • DD spécifie un jour du mois à deux chiffres (01 à 31).DD specifies a two-digit day of the month (01 through 31).

  • T spécifie la lettre « T ».T specifies the letter "T".

  • hh spécifie une heure à deux chiffres (00 à 23) ; l'indication AM/PM n'est pas autorisée.hh specifies a two-digits hour (00 through 23); A.M./P.M. indication is not allowed.

  • mm spécifie une minute à deux chiffres (00 à 59).mm specifies a two-digit minute (00 through 59).

  • ss spécifie une seconde à deux chiffres (00 à 59).ss specifies a two-digit second (00 through 59).

  • fr spécifie une fraction de secondes facultative, ss, de 1 à 7 chiffres qui suit le point . après les secondes. Par exemple : 2012-09-27T11:57:34.1234567.fr specifies an optional fraction of seconds, ss; between 1 to 7 digits that follows the . after the seconds. For example, 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.All date/time values must be specified according to the UTC (Coordinated Universal Time), also known as GMT (Greenwich Mean Time) time zone. The UTC time zone identifier (a trailing "Z" character) is optional.

Intervalles de dates pertinents pris en charge par KQLRelevant date intervals supported by 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.KQL enables you to build search queries that support relative "day" range query, with reserved keywords as shown in Table 4. Use double quotation marks ("") for date intervals with a space between their names.

Les correspondances incluent les éléments modifiés aujourd’hui :Matches would include items modified today:

LastModifiedTime=today

Les correspondances incluent les éléments entre le début et la fin de l'année en cours :Matches would include items from the beginning of the current year until the end of the current year:

LastModifiedTime="this year"

Les correspondances incluent les éléments entre le 1er janvier 2019 et le 26 avril 2019 :Matches would include items from January 1st of 2019 until April 26th of 2019:

LastModifiedTime>=2019-01-01 AND LastModifiedTime<=2019-04-26

Tableau 4. Mots clés réservés d’intervalle de datesTable 4. Date interval reserved keywords

Nom de l'intervalle de datesName of date interval DescriptionDescription
aujourd’huitoday
Représente le temps écoulé entre le début et la fin du jour en cours.Represents the time from the beginning of the current day until the end of the current day.
yesterdayyesterday
Représente le temps écoulé entre le début du jour et la fin du jour qui précède celui en cours.Represents the time from the beginning of the day until the end of the day that precedes the current day.
this weekthis 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.Represents the time from the beginning of the current week until the end of the current week. The culture in which the query text was formulated is taken into account to determine the first day of the week.
this monththis month
Représente le temps écoulé entre le début et la fin du mois en cours.Represents the time from the beginning of the current month until the end of the current month.
last monthlast month
Représente l'ensemble du mois qui précède le mois en cours.Represents the entire month that precedes the current month.
this yearthis year
Représente le temps écoulé entre le début et la fin de l'année en cours.Represents the time from the beginning of the current year until the end of the current year.
last yearlast year
Représente l'ensemble de l'année qui précède l'année en cours.Represents the entire year that precedes the current year.

Utilisation de plusieurs restrictions de propriété au sein d'une requête KQLUsing multiple property restrictions within a KQL query

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é.Search in SharePoint supports the use of multiple property restrictions within the same KQL query. You can use either the same property for more than one property restriction, or a different property for each property restriction.

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 :When you use multiple instances of the same property restriction, matches are based on the union of the property restrictions in the KQL query. Matches would include content items authored by John Smith or Jane Smith, as follows:

author:"John Smith" author:"Jane Smith"

Cette fonctionnalité est identique à l'utilisation de l'opérateur booléen OR, comme suit :This functionally is the same as using the OR Boolean operator, as follows:

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 :When you use different property restrictions, matches are based on an intersection of the property restrictions in the KQL query, as follows:

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 :Matches would include Microsoft Word documents authored by John Smith. This is the same as using the AND Boolean operator, as follows:

author:"John Smith" AND filetype:docx

Regroupement de restrictions de propriété au sein d'une requête KQLGrouping property restrictions within a KQL query

S’applique à : Office 365 | SharePoint Online | SharePoint 2019Applies to: 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 :You may use parenthesis () to group multiple property restrictions related to a specific property of type Text with the following format:

<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.More advanced queries might benefit from using the () notation to construct more condensed and readable query expressions.

La requête :The query:

author:"John Smith" AND author:"Jane Smith"

peut être réécrite comme suit :can be rewritten as:

author:("John Smith" "Jane Smith")

La requête :The query:

title:Advanced title:Search title:Query NOT title:"Advanced Search Query"

peut être réécrite comme suit :can be rewritten as:

title:((Advanced OR Search OR Query) -"Advanced Search Query")

La requête :The query:

title:Advanced XRANK(cb=1) title:Search XRANK(cb=1) title:Query

peut être réécrite comme suit :can be rewritten as:

title:(Advanced XRANK(cb=1) Search XRANK(cb=1) Query)

Notes

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.When using () to group an expression on a property query the number of matches might increase as individual query words are lemmatized, which they are not otherwise. Les phrases entre guillemets ne sont pas lemmatisées.Phrases in quotes are not lemmatized.

title:page renvoie les correspondances avec le terme exact page alors que title:(page) renvoie également les correspondances pour le terme pages.title:page return matches with the exact term page while title:(page) also return matches for the term pages.

Opérateurs KQL pour les requêtes complexesKQL operators for complex queries

La syntaxe KQL inclut plusieurs opérateurs que vous pouvez utiliser pour construire des requêtes complexes.KQL syntax includes several operators that you can use to construct complex queries.

Opérateurs booléensBoolean operators

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.You use Boolean operators to broaden or narrow your search. You can use Boolean operators with free text expressions and property restrictions in KQL queries. Table 5 lists the supported Boolean operators.

Tableau 5. Opérateurs booléens pris en charge dans KQLTable 5. Boolean operators supported in KQL

OpérateurOperator DescriptionDescription
ANDAND
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 (« + »). Returns search results that include all of the free text expressions, or property restrictions specified with the AND operator. You must specify a valid free text expression and/or a valid property restriction both preceding and following the AND operator. This is the same as using the plus ("+") character.
NOTNOT
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 (« - »).Returns search results that don't include the specified free text expressions or property restrictions. You must specify a valid free text expression and/or a valid property restriction following the NOT operator. This is the same as using the minus ("-") character.
OUOR
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.Returns search results that include one or more of the specified free text expressions or property restrictions. You must specify a valid free text expression and/or a valid property restriction both preceding and following the OR operator.

Opérateurs de proximitéProximity operators

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.You use proximity operators to match the results where the specified search terms are within close proximity to each other. Proximity operators can be used with free-text expressions only; they are not supported with property restrictions in KQL queries. There are two proximity operators: NEAR and ONEAR.

Opérateur NEARNEAR operator

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 :The NEAR operator matches the results where the specified search terms are within close proximity to each other, without preserving the order of the terms. The syntax for NEAR is as follows:

<expression> NEAR(n=4) <expression>

n est un paramètre facultatif qui indique la distance maximale entre les termes. La valeur de n est un entier >= 0 avec 8 comme valeur par défaut.Where n is an optional parameter that indicates maximum distance between the terms. The value of n is an integer >= 0 with a default of 8.

Le paramètre n peut être spécifié sous la forme de n=vv représente la valeur, ou raccourci seulement à v, par exemple : NEAR(4) où la valeur de v est 4.The parameter n can be specified as n=v where v represents the value, or shortened to only v; such as NEAR(4) where v is 4.

Par exemple :For example:

"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.This query matches items where the terms "acquisition" and "debt" appear within the same item, where an instance of "acquisition" is followed by up to eight other terms, and then an instance of the term "debt"; or vice versa. The order of the terms is not significant for the match.

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.If you need a smaller distance between the terms, you can specify it. The following query matches items where the terms "acquisition" and "debt" appear within the same item, where a maximum distance of 3 between the terms. Once again the order of the terms does not affect the match.

"acquisition" NEAR(n=3) "debt"

Notes

Dans SharePoint, l’opérateur NEAR ne conserve plus l’ordre des jetons.In SharePoint the NEAR operator no longer preserves the ordering of tokens. Désormais, l’opérateur NEAR reçoit un paramètre facultatif qui indique la distance maximale du jeton.In addition, the NEAR operator now receives an optional parameter that indicates maximum token distance. Toutefois, la valeur par défaut est toujours 8.However, the default value is still 8. Si vous devez utiliser le comportement précédent, utilisez ONEAR.If you must use the previous behavior, use ONEAR instead.

Opérateur ONEARONEAR operator

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 de n est un entier >= 0 avec 8 comme valeur par défaut.The ONEAR operator matches the results where the specified search terms are within close proximity to each other, while preserving the order of the terms. The syntax for ONEAR is as follows, where n is an optional parameter that indicates maximum distance between the terms. The value of n is an integer >= 0 with a default of 8.

<expression> ONEAR(n=4) <expression>

Le paramètre n peut être spécifié sous la forme de n=vv représente la valeur, ou raccourci seulement à v, par exemple : ONEAR(4) où la valeur de v est 4.The parameter n can be specified as n=v where v represents the value, or shortened to only v; such as ONEAR(4) where v is 4.

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. L'ordre des termes doit correspondre pour qu'un élément soit renvoyé :For example, the following query matches items where the terms "acquisition" and "debt" appear within the same item, where an instance of "acquisition" is followed by up to eight other terms, and then an instance of the term "debt". The order of the terms must match for an item to be returned:

"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é :If you require a smaller distance between the terms, you can specify it as follows. This query matches items where the terms "acquisition" and "debt" appear within the same item, where a maximum distance of 3 between the terms. The order of the terms must match for an item to be returned:

"acquisition" ONEAR(n=3) "debt"

Opérateurs de synonymeSynonym operators

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.You use the WORDS operator to specify that the terms in the query are synonyms, and that results returned should match either of the specified terms. You can use the WORDS operator with free text expressions only; it is not supported with property restrictions in KQL queries.

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 :The following query example matches results that contain either the term "TV" or the term "television". This matching behavior is the same as if you had used the following query:

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 ».These queries differ in how the results are ranked. When you use the WORDS operator, the terms "TV" and "television" are treated as synonyms instead of separate terms. Therefore, instances of either term are ranked as if they were the same term. For example, a content item that contained one instance of the term "television" and five instances of the term "TV" would be ranked the same as a content item with six instances of the term "TV".

Opérateur génériqueWildcard operator

Utilisez l’opérateur générique (l’astérisque « *  ») pour permettre la correspondance du préfixe.You use the wildcard operator—the asterisk character (" * ")—to enable prefix matching. 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.You can specify part of a word, from the beginning of the word, followed by the wildcard operator, in your query, as follows. 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) :This query would match results that include terms beginning with "serv", followed by zero or more characters, such as serve, server, service, and so on:

serv*

Opérateurs d’inclusion et d’exclusionInclusion and exclusion operators

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.You can specify whether the results that are returned should include or exclude content that matches the value specified in the free text expression or the property restriction by using the inclusion and exclusion operators, described in Table 6.

Tableau 6. Opérateurs de contenu d'inclusion et d'exclusion dans les résultatsTable 6. Operators for including and excluding content in results

NomName OpérateurOperator ComportementBehavior
InclusionInclusion
" + "" + "
Inclut le contenu avec les valeurs correspondant à l'inclusion.Includes content with values that match the 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.This is the default behavior if no character is specified. This is the same as using the AND operator.
ExclusionExclusion
" - "" - "
Exclut le contenu qui comporte les valeurs correspondant à l'exclusion. L'utilisation est la même qu'avec un opérateur NOT.Excludes content with values that match the exclusion. This is the same as using the NOT operator.

Opérateur de rang dynamiqueDynamic ranking operator

Utilisez l’opérateur XRANK pour améliorer le rang dynamique d’éléments en fonction de certaines occurrences du terme dans match expression, sans modifier les éléments correspondant à la requête. Une expression XRANK contient un composant qui doit être respecté, match expression, et des composants qui contribuent uniquement au rang dynamique, rank expression. Au moins un des paramètres, excepté n, doit être spécifié pour qu’une expression XRANK soit valide.You use the XRANK operator to boost the dynamic rank of items based on certain term occurrences within the match expression, without changing which items match the query. An XRANK expression contains one component that must be matched, the match expression, and one or more components that contribute only to dynamic ranking, the rank expression. At least one of the parameters, excluding n, must be specified for an XRANK expression to be valid.

Notes

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.Query latency (and probability of timeout) increases when using complex queries and especially when using xrank operators. 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.The increase in query latency depends on the number of XRANK operators and the number of hits in the match expression and rank expression components in the query tree.

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.Match expressions may be any valid KQL expression, including nested XRANK expressions. Rank expressions may be any valid KQL expression without XRANK expressions. If your KQL queries have multiple XRANK operators, the final dynamic rank value is calculated as a sum of boosts across all XRANK operators.

Notes

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.Use parenthesis to explicitly indicate the order of computation for KQL queries that have more than one XRANK operator at the same level.

Vous pouvez utiliser l’opérateur XRANK dans la syntaxe suivante :You can use the XRANK operator in the following syntax:

<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 :The XRANK operator's dynamic ranking calculation is based on this formula:

Formule pour l’opérateur XRANK

Le tableau 7 répertorie les paramètres de base disponibles pour l'opérateur XRANK.Table 7 lists the basic parameters available for the XRANK operator.

Tableau 7. Paramètres de l'opérateur XRANKTable 7. XRANK operator parameters

ParamètreParameter ValeurValue DescriptionDescription
nn
<integer_value><integer_value>
Spécifie le nombre de résultats pour le calcul des statistiques.Specifies the number of results to compute statistics from.
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.This parameter does not affect the number of results that the dynamic rank contributes to; it is just a means to exclude irrelevant items from the statistics calculations.
Par défaut : 0. Une valeur de zéro porte la sémantique de tous les documents . Default: 0. A zero value carries the semantic of all documents .
nbnb
<float_value><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.The nb parameter refers to normalized boost. This parameter specifies the factor that is multiplied with the product of the variance and average score of the rank values of the results set.
f dans la formule XRANK.f in the XRANK formula.

En règle générale, le renforcement 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.Typically, normalized boost, nb, is the only parameter that is modified. This parameter provides the necessary control to promote or demote a particular item, without taking standard deviation into account.

Les paramètres avancés suivants sont également disponibles. Cependant, ils ne sont généralement pas utilisés.The following advanced parameters are also available. However, typically they're not used.

Tableau 8. Paramètres avancés de l'opérateur XRANKTable 8. Advanced parameters for XRANK

ParamètreParameter ValeurValue DescriptionDescription
cbcb
<float_value><float_value>
Le paramètre cb fait référence au renforcement constant.The cb parameter refers to constant boost.
Valeur par défaut : 0.Default: 0.
a dans la formule XRANK.a in the XRANK formula.
stdbstdb
<float_value><float_value>
Le paramètre stdb fait référence à l'augmentation de l'écart type.The stdb parameter refers to standard deviation boost.
Valeur par défaut : 0.Default: 0.
e dans la formule XRANK.e in the XRANK formula.
avgbavgb
<float_value><float_value>
Le paramètre avgb fait référence au renforcement moyen.The avgb parameter refers to average boost.
Valeur par défaut : 0.Default: 0.
d dans la formule XRANK.d in the XRANK formula.
rbrb
<float_value><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.The rb parameter refers to range boost. This factor is multiplied with the range of rank values in the results set.
Valeur par défaut : 0.Default: 0.
b dans la formule XRANK.b in the XRANK formula.
pbpb
<float_value><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.The pb parameter refers to percentage boost. This factor is multiplied with the item's own rank compared to the minimum value in the corpus.
Valeur par défaut : 0.Default: 0.
c dans la formule XRANK.c in the XRANK formula.

ExemplesExamples

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 ».Example 1. The following expression matches items for which the default full-text index contains either "cat" or "dog". The expression increases dynamic rank of those items with a constant boost of 100 for items that also contain "thoroughbred".

(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 ».Example 2. The following expression matches items for which the default full-text index contains either "cat" or "dog". The expression increases dynamic rank of those items with a normalized boost of 1.5 for items that also contain "thoroughbred".

(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 ».Example 3. The following expression matches items for which the default full-text index contains either "cat" or "dog". The expression increases dynamic rank of those items with a constant boost of 100 and a normalized boost of 1.5, for items that also contain "thoroughbred".

(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 :Example 4. The following expression matches all items containing the term "animals", and boosts dynamic rank as follows:

  • Le rang dynamique des éléments qui contiennent le terme « chiens » est augmenté de 100 points.Dynamic rank of items that contain the term "dogs" is boosted by 100 points.

  • Le rang dynamique des éléments qui contiennent le terme « chats » est augmenté de 200 points.Dynamic rank of items that contain the term "cats" is boosted by 200 points.

  • Le rang dynamique des éléments qui contiennent les termes « chiens » et « chats » est renforcé de 300 points.Dynamic rank of items that contain both the terms "dogs" and "cats" is boosted by 300 points.

(animals XRANK(cb=100) dogs) XRANK(cb=200) cats

ParenthèseParenthesis

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.You can combine different parts of a keyword query by using the opening parenthesis character " ( " and closing parenthesis character " ) ". Each opening parenthesis " ( " must have a matching closing parenthesis " ) ". A white space before or after a parenthesis does not affect the query.

Voir aussiSee also