Vue d'ensemble de l'API REST de recherche SharePoint
Ajoutez une fonctionnalité de recherche aux applications clientes et mobiles à l’aide du service REST de recherche dans SharePoint et toute technologie prenant en charge les requêtes web REST.
Lorsque vous exécutez une requête dans le contexte d’un utilisateur SharePoint Online, vous obtenez des résultats des ressources suivantes :
- Contenu des collections de sites SharePoint Online
- Contenu dans les groupes Microsoft 365
- Contenu OneDrive Entreprise partagé (contenu accessible pour des personnes autres que le propriétaire de OneDrive Entreprise)
- Contenu de SharePoint Server ayant été indexé via une application de service de recherche dans le cloud. En savoir plus sur la recherche hybride dans le cloud.
Prise en charge du réseau de distribution de contenu (CDN)
Si le réseau de distribution de contenu Office 365 privé ou public est activé pour optimiser les performances des ressources, cette section vous concerne. Si vos résultats de recherche contiennent des images servies à partir du réseau de distribution de contenu, l’URL de l’image est l’URL du réseau de distribution de contenu renvoyée dans les résultats et non l’emplacement de la bibliothèque de ressources. Pour plus d’informations sur le réseau de distribution de contenu, consultez Utilisation du réseau de distribution de contenu Office 365 avec SharePoint Online.
Interrogation à l’aide du service REST de recherche
Recherche dans SharePoint comprend un service REST de recherche que vous pouvez utiliser pour ajouter des fonctionnalités de recherche à vos applications mobiles et client en utilisant une technologie prenant en charge les requêtes web REST. Vous pouvez utiliser le service REST de recherche pour soumettre des requêtes KQL ou FQL dans vos Compléments SharePoint, applications client distantes, applications mobiles et autres applications. Le service REST de recherche prend en charge les requêtes HTTP POST et HTTP GET.
Requêtes GET
Créez l'URI pour formuler des requêtes GET auprès du service REST de recherche en procédant comme suit :
GET /_api/search/query
Pour les requêtes GET, vous indiquez les paramètres de requête dans l'URL. Vous pouvez créer l'URL de requête GET de deux manières :
GET http://server/_api/search/query?query_parameter=value&query_parameter=value
GET http://server/_api/search/query(query_parameter=value&query_parameter=<value>)
Requêtes POST
Créez l'URI pour formuler des requêtes POST auprès du service REST de recherche en procédant comme suit :
POST /_api/search/postquery
Pour les requêtes POST, vous transmettez les paramètres de requête de la demande au format JavaScript Object Notation (JSON). La version POST HTTP du service REST de recherche prend en charge tous les paramètres pris en charge par la version GET HTTP. Toutefois, certains paramètres possèdent différents types de données, comme indiqué dans le tableau 1.
Tableau 1. Paramètres de requête avec différents types de données pour les requêtes POST
Paramètre | Type de données |
---|---|
SelectProperties | string[] |
RefinementFilters | string[] |
SortList | Sort |
HitHighlightedProperties | string[] |
Properties | Microsoft.SharePoint.Client.Search.Query.KeywordQueryProperties |
Utilisez des requêtes POST dans les scénarios suivants :
- Lorsque vous dépassez la restriction de longueur d'URL avec une requête GET.
- Lorsque vous ne pouvez pas indiquer les paramètres de requête dans une URL simple. Par exemple, si vous devez transmettre des valeurs de paramètre contenant un tableau de type complexe ou des chaînes séparées par une virgule, vous avez plus de flexibilité lors de l'élaboration de la requête POST.
- Lorsque vous utilisez le paramètre ReorderingRules , car il est pris en charge uniquement avec les requêtes POST .
Format des résultats de la recherche REST
Par défaut, les résultats sont renvoyés au format XML. Pour obtenir les résultats au format JSON, ajoutez l’en-tête suivant à votre demande :
accept: application/json;odata=verbose
Si vous n’avez pas besoin de métadonnées, vous pouvez plutôt utiliser :
accept: application/json;odata=nometadata
Utilisation des paramètres de requête avec le service REST de recherche
Lorsque vous appelez le service REST de recherche, vous indiquez les paramètres de la requête avec la requête. Recherche dans SharePoint utilise ces paramètres de requête pour créer la requête de recherche. Avec une requête GET, vous indiquez les paramètres de requête dans l'URL. Pour les requêtes POST, vous transmettez les paramètres de requête au corps au format JavaScript Object Notation (JSON). Les sections suivantes décrivent les paramètres de requête que vous pouvez utiliser pour soumettre des requêtes de recherche avec le service REST de recherche.
Paramètre QueryText
Chaîne contenant le texte pour la requête de recherche.
Exemple de requête GET
GET http://{server}/_api/search/query?querytext='sharepoint'
Exemple de requête POST
{
'request': {
'Querytext': 'sharepoint',
'RowLimit': 20,
'ClientType': 'ContentSearchRegular'
}
}
QueryTemplate
Chaîne contenant le texte qui remplace le texte de requête, dans le cadre d’une transformation de requête.
Exemple de requête GET
GET http://server/_api/search/query?querytext='sharepoint'&querytemplate='{searchterms} author:johndoe'
Exemple de requête POST
{
'__metadata': {
'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
},
'Querytext': 'sharepoint',
'QueryTemplate': '{searchterms} Author:johndoe'
}
EnableInterleaving
Valeur booléenne indiquant si les tables de résultats retournées pour le bloc de résultats sont mélangées avec les tables de résultats renvoyées par la requête d’origine.
Valeur true pour mélanger les tables de résultats, false dans le cas contraire. La valeur par défaut est true.
Modifiez cette valeur uniquement si vous souhaitez fournir votre propre implémentation d’entrelacement.
Exemple de requête GET
GET http:// _server_/_api/search/query?querytext='sharepoint'&enableinterleaving=true
Exemple de requête POST
{
'__metadata': {
'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
},
'Querytext': 'sharepoint',
'EnableInterleaving': 'True'
}
SourceId
ID d’origine des résultats à utiliser pour l’exécution de la requête de recherche.
Exemple de requête GET
GET http:// _server_/_api/search/query?querytext='sharepoint'&sourceid='8413cd39-2156-4e00-b54d-11efd9abdb89'
Exemple de requête POST
{
'__metadata': {
'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
},
'Querytext': 'sharepoint',
'SourceId': '8413cd39-2156-4e00-b54d-11efd9abdb89'
}
RankingModelId
ID du modèle de classement à utiliser pour la requête.
Exemple de requête GET
GET http:// _server_/_api/search/query?querytext='sharepoint'&rankingmodelid= _CustomRankingModelID_
Exemple de requête POST
{
'__metadata': {
'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
},
'Querytext': 'sharepoint',
'RankingModelId': 'CustomRankingModelID '
}
StartRow
Première ligne incluse dans les résultats de la recherche renvoyés. Vous utilisez ce paramètre lorsque vous souhaitez implémenter la pagination des résultats de la recherche.
Exemple de requête GET
GET http:// _server_/_api/search/query?querytext='sharepoint'&startrow=10
Exemple de requête POST
{
'__metadata': {
'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
},
'Querytext': 'sharepoint',
'StartRow': '10'
}
Remarque
N’oubliez pas que, pour offrir une expérience de recherche avec des performances élevées, nous limitons la valeur maximale prise en charge de StartRow
à 50 000. Si vous devez passer d’une page à l’aide de jeux de résultats plus grands, consultez Pagination pour de grands ensembles de résultats.
RowLimit
Nombre maximal global de lignes renvoyées dans les résultats de la recherche. Par rapport à RowsPerPage, RowLimit est le nombre maximal de lignes retournées dans l’ensemble.
Exemple de requête GET
GET http:// _server_/_api/search/query?querytext='sharepoint'&rowlimit=30
Exemple de requête POST
{
'__metadata': {
'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
},
'Querytext': 'sharepoint',
'RowLimit': '30'
}
RowsPerPage
Nombre maximal de lignes à renvoyer par page. Par rapport à RowLimit, RowsPerPage fait référence au nombre maximal de lignes à retourner par page, et est principalement utilisé lorsque vous souhaitez implémenter la pagination pour les résultats de la recherche.
Exemple de requête GET
GET http:// _server_/_api/search/query?querytext='sharepoint'&rowsperpage=10
Exemple de requête POST
{
'__metadata': {
'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
},
'Querytext': 'sharepoint',
'RowsPerPage': '10'
}
SelectProperties
Propriétés gérées à renvoyer dans les résultats de la recherche. Pour renvoyer une propriété gérée, définissez l'indicateur affichable dans les résultats de la recherche de la propriété sur true dans le schéma de recherche.
Pour les requêtes GET, vous indiquez le paramètre SelectProperties dans une chaîne contenant une liste de propriétés séparées par une virgule. Pour les requêtes POST, vous indiquez le paramètre SelectProperties en tant que tableau de chaînes.
Exemple de requête GET
GET http:// _server_/_api/search/query?querytext='sharepoint'&selectproperties='Title,Author'
Exemple de requête POST
{
'__metadata': {
'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
},
'Querytext': 'sharepoint',
'SelectProperties': {
'results': ['Title','Author']
}
}
Culture
ID de paramètres régionaux (LCID) pour la requête (voir ID de paramètres régionaux attribués par Microsoft).
Exemple de requête GET
GET http:// _server_/_api/search/query?querytext='sharepoint'&culture=1044
Exemple de requête POST
{
'__metadata': {
'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
},
'Querytext': 'sharepoint',
'Culture': '1044'
}
RefinementFilters
Ensemble de filtres de perfectionnement utilisés lors de l'émission d'une requête de perfectionnement. Pour les requêtes GET, le paramètre RefinementFilters est indiqué comme un filtre FQL. Pour les requêtes POST, le paramètre RefinementFilters est indiqué comme un tableau de filtres FQL.
Exemple de requête GET
GET http:// _server_/_api/search/query?querytext='sharepoint'&refinementfilters='fileExtension:equals("docx")'
Exemple de requête POST
{
'__metadata': {
'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
},
'Querytext': 'sharepoint',
'RefinementFilters': {
'results': ['fileExtension:equals("docx")']
}
}
Affinements
Ensemble des affinements à renvoyer dans un résultat de recherche.
Exemple de requête GET
GET http:// _server_/_api/search/query?querytext='sharepoint'&refiners='author,size'
Exemple de requête POST
{
'__metadata': {
'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
},
'Querytext': 'sharepoint',
'Refiners': 'author,size',
}
HiddenConstraints
Termes de requête supplémentaires à ajouter à la requête.
Exemple de requête GET
GET http:// _server_/_api/search/query?querytext='sharepoint'&hiddenconstraints='developer'
Exemple de requête POST
{
'__metadata': {
'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
},
'Querytext': 'sharepoint',
'HiddenConstraints': 'developer'
}
SortList
Liste des propriétés selon lesquelles les résultats de la recherche sont triés.
Exemple de requête GET
GET http:// _server_/_api/search/query?querytext='sharepoint'&sortlist='rank:descending,modifiedby:ascending'
Exemple de requête POST
{
'__metadata': {
'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
},
'Querytext': 'sharepoint',
'SortList': {
'results': [
{
'Property': 'Created',
'Direction': '0'
},
{
'Property': 'FileExtension',
'Direction': '1'
}
]
}
}
EnableStemming
Valeur booléenne indiquant si la recherche de radical est activée.
Valeur true si la recherche de radical est activée, false dans le cas contraire. La valeur par défaut est true.
Exemple de requête GET
GET http:// _server_/_api/search/query?querytext='sharepoint'&enablestemming=false
Exemple de requête POST
{
'__metadata': {
'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
},
'Querytext': 'sharepoint',
'EnableStemming : 'False'
}
TrimDuplicates
Valeur booléenne indiquant si les éléments en double sont supprimés des résultats.
Valeur true pour supprimer les éléments en double, false dans le cas contraire. La valeur par défaut est true.
Exemple de requête GET
GET http:// _server_/_api/search/query?querytext='sharepoint'&trimduplicates=false
Exemple de requête POST
{
'__metadata': {
'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
},
'Querytext': 'sharepoint',
'TrimDuplicates': 'False'
}
Timeout
Temps en millisecondes avant l’expiration de la requête. La valeur par défaut est 30 000.
Exemple de requête GET
GET http:// _server_/_api/search/query?querytext='sharepoint'&timeout=60000
Exemple de requête POST
{
'__metadata': {
'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
},
'Querytext': 'sharepoint',
'Timeout': '60000'
}
EnableNicknames
Valeur booléenne indiquant si les termes exacts dans la requête de recherche sont utilisés pour rechercher des correspondances, ou si les surnoms sont également utilisés. Valeur true si des surnoms sont utilisés, false dans le cas contraire. La valeur par défaut est false.
Exemple de requête GET
GET http:// _server_/_api/search/query?querytext='sharepoint'&enablenicknames=true
Exemple de requête POST
{
'__metadata': {
'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
},
'Querytext': 'sharepoint',
'EnableNicknames': 'True'
}
EnablePhonetic
Valeur booléenne indiquant si les formes phonétiques des termes de requête sont utilisées pour rechercher des correspondances.
Valeur true si les formes phonétiques sont utilisées, false dans le cas contraire. La valeur par défaut est false.
Exemple de requête GET
GET http:// _server_/_api/search/query?querytext='sharepoint'&enablephonetic=true
Exemple de requête POST
{
'__metadata': {
'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
},
'Querytext': 'sharepoint',
'EnablePhonetic': 'True'
}
EnableFql
Valeur booléenne indiquant si la requête utilise le langage de requête FAST (FQL).
Valeur true si la requête est une requête FQL, false dans le cas contraire. La valeur par défaut est false.
Exemple de requête GET
GET http:// _server_/_api/search/query?querytext='sharepoint'&enablefql=true
Exemple de requête POST
{
'__metadata': {
'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
},
'Querytext': 'sharepoint',
'EnableFQL': 'True'
}
HitHighlightedProperties
Propriétés à mettre en surbrillance dans le résumé des résultats de la recherche lorsque la valeur de propriété correspond aux termes de recherche saisis par l'utilisateur. Pour les requêtes GET, indiquez-les dans une chaîne contenant une liste de propriétés séparées par une virgule. Pour les requêtes POST, indiquez-les comme un tableau de chaînes.
Exemple de requête GET
GET http:// _server_/_api/search/query?querytext='sharepoint'&hithighlightedproperties='Title'
Exemple de requête POST
{
'__metadata': {
'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
},
'Querytext': 'sharepoint',
'HitHighlightedProperties': {
'results': ['Title']
}
}
BypassResultTypes
Valeur booléenne indiquant s’il faut effectuer un traitement du type de résultat pour la requête.
false pour effectuer le traitement du type de résultat ; sinon, true. La valeur par défaut est true.
Exemple de requête GET
GET http:// _server_/_api/search/query?querytext='sharepoint'&bypassresulttypes=true
Exemple de requête POST
{
'__metadata': {
'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
},
'Querytext': 'sharepoint',
'BypassResultTypes': 'true'
}
ProcessBestBets
Valeur booléenne indiquant s’il faut renvoyer de meilleurs résultats pour la requête.
Valeur true pour renvoyer les meilleurs résultats, false dans le cas contraire. Ce paramètre est utilisé uniquement lorsque la propriété EnableQueryRules est définie sur true, sinon il est ignoré. La valeur par défaut est false.
Exemple de requête GET
GET http:// _server_/_api/search/query?querytext='sharepoint'&processbestbets=true&enablequeryrules=true
Exemple de requête POST
{
'__metadata': {
'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
},
'Querytext': 'sharepoint',
'ProcessBestBets': 'true',
'EnableQueryRules': 'true'
}
ClientType
Type du client ayant émis la requête.
Exemple de requête GET
GET http:// _server_/_api/search/query?querytext='sharepoint'&clienttype='custom'
Exemple de requête POST
{
'__metadata': {
'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
},
'Querytext': 'sharepoint',
'ClientType': 'custom'
}
PersonalizationData
GUID de l’utilisateur ayant envoyé la requête de recherche.
Exemple de requête GET
GET http:// _\<server\>_/_api/search/query?querytext='sharepoint'&personalizationdata=' _\<GUID\>_'
Exemple de requête POST
{
'__metadata': {
'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
},
'Querytext': 'sharepoint',
'PersonalizationData': ' <GUID> '
}
ResultsURL
URL de la page des résultats de la recherche.
Exemple de requête GET
GET http:// _server_/_api/search/query?querytext='sharepoint'&resultsurl='http://server/site/resultspage.aspx'
Exemple de requête POST
{
'__metadata': {
'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
},
'Querytext': 'sharepoint'
'ResultURL': 'http://server/site/resultspage.aspx'
}
QueryTag
Indicateurs personnalisées identifiant la requête. Vous pouvez indiquer plusieurs indicateurs de requête, séparés par un point-virgule.
Exemple de requête GET
GET http:// _server_/_api/search/query?querytext='sharepoint'
Exemple de requête POST
{
'__metadata': {
'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
},
'Querytext': 'sharepoint'
}
Propriétés
Propriétés supplémentaires pour la requête. Les requêtes GET prennent en charge uniquement les valeurs de chaîne. Les requêtes POST prennent en charge les valeurs de tout type.
Exemple de requête GET
GET http:// _server_/_api/search/query?querytext='sharepoint'&properties='termid:guid'
Exemple de requête POST
{
'__metadata': {
'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
},
'Querytext': 'sharepoint',
'Properties': {
'results': [
{
'Name': 'sampleBooleanProperty',
'Value':
{
'BoolVal': 'True',
'QueryPropertyValueTypeIndex': 3
}
},
{
'Name': 'sampleIntProperty',
'Value':
{
'IntVal': '1234',
'QueryPropertyValueTypeIndex': 2
}
}
]
}
}
Remarque
QueryPropertyValueType indique le type de la propriété. Chaque type a une valeur d’index spécifique.
EnableQueryRules
Valeur booléenne indiquant s’il faut activer les règles de requête pour la requête.
Valeur true pour activer les règles de requête, false dans le cas contraire. La valeur par défaut est true.
Exemple de requête GET
GET http:// _server_/_api/search/query?querytext='sharepoint'&enablequeryrules=false
Exemple de requête POST
{
'__metadata': {
'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
},
'Querytext': 'sharepoint',
'EnableQueryRules': 'false'
}
ReorderingRules
Règles spéciales pour réorganiser les résultats de la recherche. Ces règles peuvent indiquer que les documents correspondant à certaines conditions sont classés plus haut ou plus bas dans les résultats. Cette propriété s'applique uniquement lorsque les résultats sont triés en fonction d'un classement. Vous devez utiliser une requête POST pour cette propriété, car elle ne fonctionne pas dans les requêtes GET.
Dans l'exemple suivant, MatchType fait référence à ReorderingRuleMatchType. Dans l'exemple suivant, 'MatchType': '0'
indique ResultContainsKeyword
.
Exemple de requête POST
{
'__metadata': {
'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
},
'Querytext': 'sharepoint',
'ReorderingRules': {
'results': [
{
'MatchValue': '<someValue>',
'Boost': '10',
'MatchType': '0'
}
]
}
}
ProcessPersonalFavorites
Valeur booléenne indiquant s’il faut renvoyer les favoris personnels avec les résultats de la recherche.
Valeur true pour renvoyer les favoris personnels, false dans le cas contraire.
Exemple de requête GET
GET http://_server_/_api/search/query?querytext='sharepoint'&processpersonalfavorites=true
Exemple de requête POST
{
'__metadata': {
'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
},
'Querytext ': 'sharepoint',
'ProcessPersonalFavorites': 'false'
}
QueryTemplatePropertiesUrl
Emplacement du fichier queryparametertemplate.xml. Ce fichier permet d’autoriser les utilisateurs anonymes à effectuer des requêtes de recherche REST.
Exemple de requête GET
GET http:// _server_/_api/search/query?querytext='sharepoint'&querytemplatepropertiesurl='spfile://webroot/queryparametertemplate.xml'
Exemple de requête POST
{
'__metadata': {
'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
},
'Querytext ': 'sharepoint',
QueryTemplatePropertiesUrl : 'spfile://webroot/queryparametertemplate.xml'
}
HitHighlightedMultivaluePropertyLimit
Nombre de propriétés pour afficher la mise en surbrillance pour les résultats de la recherche.
Exemple de requête GET
GET http:// _server_/_api/search/query?querytext='sharepoint'&hithighlightedmultivaluepropertylimit=2
Exemple de requête POST
{
'__metadata': {
'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
},
'Querytext ': 'sharepoint',
'HitHighlihtedMultivaluePropertyLimit': '2'
}
EnableOrderingHitHighlightedProperty
Valeur booléenne indiquant si les propriétés mises en surbrillance peuvent être classées.
Valeur true pour activer les règles de classement, false dans le cas contraire.
Exemple de requête GET
GET http:// _server_/_api/search/query?querytext='sharepoint'&enableorderinghithighlightedproperty=false
Exemple de requête POST
{
'__metadata': {
'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
},
'Querytext ': 'sharepoint',
'EnableOrderingHitHighlightedProperty': 'false'
}
CollapseSpecification
Propriétés gérées utilisées pour déterminer la façon de réduire les résultats de recherche individuels. Ils sont réduits en un seul résultat ou en un nombre spécifié de résultats s'ils correspondent aux spécifications de réduction individuelles. Dans une seule spécification de réduction, les résultats sont réduits si leurs propriétés correspondent à toutes les propriétés individuelles dans la spécification de réduction.
Exemple de requête GET
GET http:// _server_/_api/search/query?querytext='sharepoint'&collapsespecification='Author:1 ContentType:2'
Exemple de requête POST
{
'__metadata': {
'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
},
'Querytext ': 'sharepoint',
'CollapseSpecification': 'Author:1 ContentType:2'
}
EnableSorting
Valeur booléenne indiquant s’il faut trier les résultats de la recherche.
true pour trier les résultats de la recherche à l’aide de SortList, ou par classement si SortList est vide. false pour ne pas trier les résultats.
Exemple de requête GET
GET http:// _server_/_api/search/query?querytext='sharepoint'&enablesorting=false
Exemple de requête POST
{
'__metadata': {
'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
},
'Querytext ': 'sharepoint',
'EnableSorting': 'false'
}
GenerateBlockRankLog
Valeur booléenne indiquant s'il faut renvoyer les informations de journal de classement de bloc dans la propriété BlockRankLog de la table de résultats entrelacés. Un journal de classement de bloc contient des informations textuelles sur le score de bloc et les documents qui ont été dédupliqués.
Valeur true pour renvoyer des informations de journal de classement de bloc, false dans le cas contraire.
Exemple de requête GET
GET http:// _server_/_api/search/query?querytext='sharepoint'&generateblockranklog=true
Exemple de requête POST
{
'__metadata': {
'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
},
'Querytext ': 'sharepoint',
'GenerateBlockRankLog': 'true'
}
UIlanguage
Identificateur de paramètres régionaux (LCID) de l’interface utilisateur (voir ID de paramètres régionaux attribués par Microsoft).
Exemple de requête GET
GET http:// _server_/_api/search/query?querytext='sharepoint'&uilanguage=1044
Exemple de requête POST
{
'__metadata': {
'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
},
'Querytext ': 'sharepoint',
'UILanguage': '1044'
}
DesiredSnippetLength
Nombre de caractères préféré à afficher dans le résumé mis en surbrillance généré pour un résultat de recherche.
Exemple de requête GET
GET http:// _server_/_api/search/query?querytext='sharepoint'&desiredsnippetlength=80
Exemple de requête POST
{
'__metadata': {
'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
},
'Querytext ': 'sharepoint',
'DesiredSnippetLength': '80'
}
MaxSnippetLength
Nombre maximal de caractères à afficher dans le résumé mis en surbrillance généré pour un résultat de recherche.
Exemple de requête GET
GET http:// _server_/_api/search/query?querytext='sharepoint'&maxsnippetlength=100
Exemple de requête POST
{
'__metadata': {
'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
},
'Querytext ': 'sharepoint',
'MaxSnippetLength': '100'
}
SummaryLength
Nombre de caractères à afficher dans le résumé des résultats d’une recherche.
Exemple de requête GET
GET http:// _server_/_api/search/query?querytext='sharepoint'&summarylength=150
Exemple de requête POST
{
'__metadata': {
'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
},
'Querytext ': 'sharepoint',
'Summarylength': '150'
}
EnableDynamicGroups
Valeur booléenne indiquant si les résultats des groupes Microsoft 365 privés doivent être inclus.
true pour inclure les résultats de groupes Microsoft 365 privés ; dans le cas contraire, false. La valeur par défaut est false.
Exemple de requête GET
GET http:// _server_/_api/search/query?querytext='sharepoint'&Properties='EnableDynamicGroups:true'
Exemple de requête POST
{
'__metadata': {
'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
},
'Querytext': 'sharepoint',
'Properties': {
'results': [ {
'Name': 'EnableDynamicGroups',
'Value': { 'BoolVal': true }
}]
}
Activation des requêtes REST de recherche anonymes
Vous pouvez configurer la recherche pour qu’elle prenne en charge les requêtes REST de recherche d’utilisateurs anonymes. Les administrateurs de site peuvent déterminer les paramètres de requête à exposer aux utilisateurs anonymes à l'aide du fichier queryparametertemplate.xml. Cette section décrit la façon de configurer votre site afin d’autoriser l’accès anonyme et de créer le fichier queryparametertemplate.xml.
Procédure pour activer les requêtes REST de recherche anonymes
Activez l'accès anonyme sur l'application web et le site de publication. Pour plus d’informations sur la procédure à suivre, voir Gérer les stratégies d’autorisation pour une application web dans SharePoint et Planifier les méthodes d’authentification utilisateur dans SharePoint sur TechNet.
Ajoutez une bibliothèque de documents appelée QueryPropertiesTemplate au site de publication.
Créez un fichier XML portant le nom queryparametertemplate.xml, puis copiez le code XML suivant dans celui-ci.
<QueryPropertiesTemplate xmlns="https://www.microsoft.com/sharepoint/search/KnownTypes/2008/08" xmlns:i="http://www.w3.org/2001/XMLSchema-instance"> <QueryProperties i:type="KeywordQueryProperties"> <EnableStemming>true</EnableStemming> <FarmId>FarmID</FarmId> <IgnoreAllNoiseQuery>true</IgnoreAllNoiseQuery> <KeywordInclusion>AllKeywords</KeywordInclusion> <SiteId>SiteID</SiteId> <SummaryLength>180</SummaryLength> <TrimDuplicates>true</TrimDuplicates> <WcfTimeout>120000</WcfTimeout> <WebId>WebID</WebId> <Properties xmlns:a="http://schemas.microsoft.com/2003/10/Serialization/Arrays"> <a:KeyValueOfstringanyType> <a:Key>_IsEntSearchLicensed</a:Key> <a:Value i:type="b:boolean" xmlns:b="http://www.w3.org/2001/XMLSchema">true</a:Value> </a:KeyValueOfstringanyType> <a:KeyValueOfstringanyType> <a:Key>EnableSorting</a:Key> <a:Value i:type="b:boolean" xmlns:b="http://www.w3.org/2001/XMLSchema">true</a:Value> </a:KeyValueOfstringanyType> <a:KeyValueOfstringanyType> <a:Key>MaxKeywordQueryTextLength</a:Key> <a:Value i:type="b:int" xmlns:b="http://www.w3.org/2001/XMLSchema">4096</a:Value> </a:KeyValueOfstringanyType> <a:KeyValueOfstringanyType> <a:Key>TryCache</a:Key> <a:Value i:type="b:boolean" xmlns:b="http://www.w3.org/2001/XMLSchema">true</a:Value> </a:KeyValueOfstringanyType> </Properties> <PropertiesContractVersion>15.0.0.0</PropertiesContractVersion> <EnableFQL>false</EnableFQL> <EnableSpellcheck>Suggest</EnableSpellcheck> <EnableUrlSmashing>true</EnableUrlSmashing> <IsCachable>false</IsCachable> <MaxShallowRefinementHits>100</MaxShallowRefinementHits> <MaxSummaryLength>185</MaxSummaryLength> <MaxUrlLength>2048</MaxUrlLength> <SimilarType>None</SimilarType> <SortSimilar>true</SortSimilar> <TrimDuplicatesIncludeId>0</TrimDuplicatesIncludeId> <TrimDuplicatesKeepCount>1</TrimDuplicatesKeepCount> </QueryProperties> <WhiteList xmlns:a="http://schemas.microsoft.com/2003/10/Serialization/Arrays"> <a:string>RowLimit</a:string> <a:string>SortList</a:string> <a:string>StartRow</a:string> <a:string>RefinementFilters</a:string> <a:string>Culture</a:string> <a:string>RankingModelId</a:string> <a:string>TrimDuplicatesIncludeId</a:string> <a:string>ReorderingRules</a:string> <a:string>EnableQueryRules</a:string> <a:string>HiddenConstraints</a:string> <a:string>QueryText</a:string> <a:string>QueryTemplate</a:string> </WhiteList> </QueryPropertiesTemplate>
Mettez à jour les
SiteId
éléments ,FarmId
etWebId
avec les valeurs de votre batterie de serveurs, de votre site web et de votre collection de sites de publication.Enregistrez le fichier queryparametertemplate.xml dans la bibliothèque de documents QueryPropertiesTemplate.
Ajoutez le paramètre
QueryTemplatePropertiesUrl
à votre appel REST de recherche, en spécifiantspfile://webroot/queryparametertemplate.xml
comme valeur.
Fichier queryparametertemplate.xml
Les principaux éléments du fichier queryparametertemplate.xml sont :
Élément QueryProperties
Contient un objet QueryProperties sérialisé.
Élément WhiteList
: contient la liste des propriétés de requête que l'utilisateur anonyme est autorisé à définir.
Lorsqu'une requête REST de recherche anonyme est envoyée, l'objet de requête est créé à l'aide de ce qui est indiqué dans l'élément QueryProperties. Ensuite, toutes les propriétés répertoriées dans la liste verte sont copiées à partir de la requête entrante vers l'objet de requête récemment créé.