- Requête HTTP
- Corps de la requête
- Corps de la réponse
- Niveaux d'accès des autorisations
- QueryInterpretationOptions
- QueryInterpretation
- QueryInterpretation.InterpretationType
- QueryInterpretation.Reason
- SearchResult
- Snippet
- MatchRange
- Métadonnées
- ResultDisplayMetadata
- ResultDisplayMetadata.ResultDisplayLine
- ResultDisplayMetadata.ResultDisplayField
- ResultDebugInfo
- StructuredResult
- SpellResult
- SpellResult.SuggestionType
- SafeHtmlProto
- FacetResult
- FacetBucket
- ResponseDebugInfo
- ErrorInfo
- ErrorMessage
- ResultCounts
- SourceResultCount
- Essayer
L'API Cloud Search Query fournit la méthode de recherche, qui renvoie les résultats les plus pertinents à partir d'une requête utilisateur. Les résultats peuvent provenir d'applications Google Workspace, comme Gmail ou Google Drive, ou de données que vous avez indexées à partir d'un tiers.
Remarque : Cette API nécessite un compte utilisateur final standard pour s'exécuter. Un compte de service ne peut pas effectuer directement de requêtes d'API de requête. Pour utiliser un compte de service pour effectuer des requêtes, configurez la délégation d'autorité au niveau du domaine Google Workspace.
Requête HTTP
POST https://cloudsearch.googleapis.com/v1/query/search
L'URL utilise la syntaxe de transcodage gRPC.
Corps de la requête
Le corps de la requête contient des données présentant la structure suivante :
| Représentation JSON |
|---|
{ "requestOptions": { object ( |
| Champs | |
|---|---|
requestOptions |
Options de requête, telles que l'application de recherche et le fuseau horaire de l'utilisateur. |
query |
Chaîne de requête brute. Consultez les opérateurs de recherche compatibles dans Affiner la recherche à l'aide d'opérateurs. |
pageSize |
Nombre maximal de résultats de recherche à renvoyer sur une page. Les valeurs valides sont comprises entre 1 et 100, inclus. La valeur par défaut est 10. La valeur minimale est de 50 lorsque des résultats au-delà de 2 000 sont demandés. |
start |
Index de début des résultats. |
dataSourceRestrictions[] |
Sources à utiliser pour les requêtes. Si aucune n'est spécifiée, toutes les sources de données de l'application de recherche actuelle sont utilisées. |
facetOptions[] |
|
sortOptions |
Options de tri des résultats de recherche |
queryInterpretationOptions |
options pour interpréter la requête de l'utilisateur. |
contextAttributes[] |
Attributs de contexte pour la requête qui seront utilisés pour ajuster le classement des résultats de recherche. Le nombre maximal d'éléments est de 10. |
Corps de la réponse
Réponse de l'API Search. ID SUIVANT : 19
Si la requête aboutit, le corps de la réponse contient des données qui ont la structure suivante :
| Représentation JSON |
|---|
{ "queryInterpretation": { object ( |
| Champs | |
|---|---|
queryInterpretation |
Résultat de l'interprétation de la requête utilisateur. Vide si l'interprétation des requêtes est désactivée. |
results[] |
Résultats d'une requête de recherche. |
structuredResults[] |
Résultats structurés pour la requête utilisateur. Ces résultats ne sont pas comptabilisés dans la taille de page. |
spellResults[] |
Orthographe suggérée pour la requête. |
facetResults[] |
Résultats d'attributs répétés. |
hasMoreResults |
Indique s'il existe d'autres résultats de recherche correspondant à la requête. |
debugInfo |
Informations de débogage sur la réponse. |
errorInfo |
Informations sur les erreurs concernant la réponse. |
resultCounts |
Informations détaillées sur le nombre de résultats. |
Champ d'union
Dans le cas rare où le système ne parvient pas à effectuer une recherche dans tous les documents, exécutez à nouveau la requête. |
|
resultCountEstimate |
Nombre de résultats estimé pour cette requête. |
resultCountExact |
Nombre exact de résultats pour cette requête. |
Champs d'application des autorisations
Nécessite l'un des champs d'application OAuth suivants :
https://www.googleapis.com/auth/cloud_search.queryhttps://www.googleapis.com/auth/cloud_search
Pour en savoir plus, consultez le guide d'autorisation.
QueryInterpretationOptions
options pour interpréter la requête de l'utilisateur.
| Représentation JSON |
|---|
{ "disableNlInterpretation": boolean, "enableVerbatimMode": boolean, "disableSupplementalResults": boolean } |
| Champs | |
|---|---|
disableNlInterpretation |
Indicateur permettant de désactiver l'interprétation des requêtes en langage naturel. La valeur par défaut est "false". Définissez-la sur "true" pour désactiver l'interprétation du langage naturel. L'interprétation en langage naturel ne s'applique qu'aux sources de données prédéfinies. |
enableVerbatimMode |
Activez ce flag pour désactiver toutes les optimisations internes, comme l'interprétation en langage naturel des requêtes, la récupération de résultats supplémentaires et l'utilisation de synonymes, y compris personnalisés. L'interprétation du langage naturel sera désactivée si l'un des deux indicateurs est défini sur "true". |
disableSupplementalResults |
Utilisez cet indicateur pour désactiver les résultats supplémentaires pour une requête. Le paramètre de résultats supplémentaires choisi au niveau SearchApplication prévaudra s'il est défini sur "True". |
QueryInterpretation
| Représentation JSON |
|---|
{ "interpretedQuery": string, "interpretationType": enum ( |
| Champs | |
|---|---|
interpretedQuery |
Interprétation de la requête utilisée dans la recherche. Par exemple, les requêtes avec une intention en langage naturel comme "e-mail de jean" seront interprétées comme "from:jean source:mail". Ce champ ne sera pas renseigné si le motif est NOT_ENOUGH_RESULTS_FOUND_FOR_USER_QUERY. |
interpretationType |
|
reason |
Raison de l'interprétation de la requête. Ce champ ne sera pas défini sur "UNSPECIFIED" si le type d'interprétation n'est pas "NONE". |
interpretedQueryActualResultCount |
Nombre réel de résultats renvoyés par la requête interprétée. |
interpretedQueryEstimatedResultCount |
Nombre estimé de résultats renvoyés par la requête interprétée. |
QueryInterpretation.InterpretationType
| Enums | |
|---|---|
NONE |
Ni l'interprétation en langage naturel, ni une version plus large de la requête ne sont utilisées pour extraire les résultats de recherche. |
BLEND |
Les résultats de la requête d'origine sont fusionnés avec d'autres résultats. La raison pour laquelle ces autres résultats sont fusionnés avec ceux de la requête d'origine est indiquée dans le champ "Raison" ci-dessous. |
REPLACE |
Les résultats de la requête d'origine sont remplacés. La raison pour laquelle les résultats de la requête d'origine ont été remplacés est indiquée dans le champ "Raison" ci-dessous. |
QueryInterpretation.Reason
| Enums | |
|---|---|
UNSPECIFIED |
|
QUERY_HAS_NATURAL_LANGUAGE_INTENT |
L'interprétation en langage naturel de la requête est utilisée pour récupérer les résultats de recherche. |
NOT_ENOUGH_RESULTS_FOUND_FOR_USER_QUERY |
La similarité entre les termes de la requête et ceux du document est utilisée pour élargir sélectivement la requête afin de récupérer des résultats de recherche supplémentaires, car aucun résultat suffisant n'a été trouvé pour la requête de l'utilisateur. La requête interprétée sera vide dans ce cas. |
SearchResult
Résultats contenant des informations indexées pour un document. ID suivant : 16
| Représentation JSON |
|---|
{ "title": string, "url": string, "snippet": { object ( |
| Champs | |
|---|---|
title |
titre du résultat de recherche. |
url |
URL du résultat de recherche. L'URL contient une redirection Google vers l'élément réel. Cette URL est signée et ne doit pas être modifiée. |
snippet |
Concaténation de tous les extraits (résumés) disponibles pour ce résultat. |
metadata |
les métadonnées du résultat de recherche. |
clusteredResults[] |
Si la source est regroupée, fournissez la liste des résultats regroupés. Il n'y aura qu'un seul niveau de résultats groupés. Si la source actuelle n'est pas activée pour le clustering, ce champ sera vide. |
debugInfo |
Informations de débogage concernant ce résultat de recherche. |
Extrait
Extrait du résultat de recherche, qui résume le contenu de la page correspondante.
| Représentation JSON |
|---|
{
"snippet": string,
"matchRanges": [
{
object ( |
| Champs | |
|---|---|
snippet |
Extrait du document. Peut contenir un caractère HTML échappé qui doit être déséchappé avant le rendu. |
matchRanges[] |
Plages correspondantes dans l'extrait. |
MatchRange
Plage correspondante d'un extrait [début, fin).
| Représentation JSON |
|---|
{ "start": integer, "end": integer } |
| Champs | |
|---|---|
start |
Position de départ de la correspondance dans l'extrait. |
end |
Fin du match dans l'extrait. |
Métadonnées
métadonnées d'un résultat de recherche correspondant.
| Représentation JSON |
|---|
{ "source": { object ( |
| Champs | |
|---|---|
source |
Nom de la source du résultat, comme Gmail. |
mimeType |
Type MIME du résultat de recherche. |
thumbnailUrl |
URL de la vignette du résultat. |
owner |
Propriétaire (généralement le créateur) du document ou de l'objet du résultat de recherche. |
createTime |
Heure de création de ce document ou objet dans le résultat de recherche. Utilise la norme RFC 3339, où la sortie générée utilise toujours le format UTC (indiqué par "Z" pour le temps universel coordonné) avec des secondes fractionnaires de 0, 3, 6 ou 9 chiffres décimaux. Des décalages horaires autres que "Z" (UTC) sont également acceptés. Exemples : |
updateTime |
Date de la dernière modification de l'objet dans le résultat de la recherche. Si elle n'est pas définie dans l'élément, la valeur renvoyée ici est vide. Lorsque Utilise la norme RFC 3339, où la sortie générée utilise toujours le format UTC (indiqué par "Z" pour le temps universel coordonné) avec des secondes fractionnaires de 0, 3, 6 ou 9 chiffres décimaux. Des décalages horaires autres que "Z" (UTC) sont également acceptés. Exemples : |
fields[] |
Champs indexés dans les données structurées, renvoyés sous forme de propriété nommée générique. |
displayOptions |
Options qui spécifient comment afficher un résultat de recherche de données structurées. |
objectType |
Type d'objet du résultat de recherche. |
ResultDisplayMetadata
| Représentation JSON |
|---|
{
"objectTypeLabel": string,
"metalines": [
{
object ( |
| Champs | |
|---|---|
objectTypeLabel |
Libellé à afficher pour l'objet. |
metalines[] |
Contenu des métalignes à afficher avec le résultat. |
ResultDisplayMetadata.ResultDisplayLine
Ensemble de champs qui composent une ligne affichée
| Représentation JSON |
|---|
{
"fields": [
{
object ( |
| Champs | |
|---|---|
fields[] |
|
ResultDisplayMetadata.ResultDisplayField
Champs d'affichage pour les résultats de query.search
| Représentation JSON |
|---|
{
"label": string,
"operatorName": string,
"property": {
object ( |
| Champs | |
|---|---|
label |
Libellé à afficher pour la propriété. |
operatorName |
Nom de l'opérateur de la propriété. |
property |
Paire nom/valeur pour la propriété. |
ResultDebugInfo
Informations de débogage sur le résultat.
| Représentation JSON |
|---|
{ "formattedDebugInfo": string } |
| Champs | |
|---|---|
formattedDebugInfo |
Informations de débogage générales mises en forme pour l'affichage. |
StructuredResult
Résultats structurés renvoyés dans le cadre d'une requête de recherche.
| Représentation JSON |
|---|
{ // Union field |
| Champs | |
|---|---|
Champ d'union
|
|
person |
Représentation d'une personne |
SpellResult
| Représentation JSON |
|---|
{ "suggestedQuery": string, "suggestionType": enum ( |
| Champs | |
|---|---|
suggestedQuery |
Orthographe suggérée de la requête. |
suggestionType |
suggestion déclenchée pour la requête actuelle. |
suggestedQueryHtml |
Code HTML nettoyé représentant la requête corrigée par le correcteur orthographique, qui peut être utilisé dans l'UI. Il comporte généralement des balises spécifiques à la langue pour marquer les parties de la requête qui ont été vérifiées orthographiquement. |
SpellResult.SuggestionType
Type de suggestion déclenché pour la requête.
| Enums | |
|---|---|
SUGGESTION_TYPE_UNSPECIFIED |
Type de vérification orthographique par défaut |
NON_EMPTY_RESULTS_SPELL_SUGGESTION |
Modification de la suggestion orthographique sans aucun résultat. Les résultats sont toujours affichés pour la requête d'origine (qui a des résultats non nuls), avec une suggestion d'orthographe qui aurait des résultats. |
ZERO_RESULTS_FULL_PAGE_REPLACEMENT |
Suggestion orthographique déclenchée lorsque la requête d'origine ne renvoie aucun résultat. Lorsque la requête d'origine ne renvoie aucun résultat et que la suggestion orthographique en renvoie, nous affichons les résultats pour la requête corrigée. |
SafeHtmlProto
IMPORTANT : Il est dangereux d'accepter ce message provenant d'une source non fiable, car il est très facile pour un pirate informatique de falsifier des messages sérialisés qui ne respectent pas le contrat de sécurité du type. Par exemple, il pourrait contenir un script contrôlé par un pirate informatique. Un système qui reçoit un SafeHtmlProto fait implicitement confiance au producteur du SafeHtmlProto. Il est donc généralement sûr de renvoyer ce message dans les réponses RPC, mais généralement dangereux de l'accepter dans les requêtes RPC.
| Représentation JSON |
|---|
{ "privateDoNotAccessOrElseSafeHtmlWrappedValue": string } |
| Champs | |
|---|---|
privateDoNotAccessOrElseSafeHtmlWrappedValue |
IMPORTANT : Ne définissez ni ne lisez jamais ce champ, même à partir de tests, car il est privé. Consultez la documentation en haut du fichier .proto pour connaître les packages de langage de programmation permettant de créer ou de lire ce message. |
FacetResult
Réponse de facette spécifique à la source
| Représentation JSON |
|---|
{
"sourceName": string,
"objectType": string,
"operatorName": string,
"buckets": [
{
object ( |
| Champs | |
|---|---|
sourceName |
Nom de la source pour laquelle les résultats d'attribut sont renvoyés. Ce champ ne sera pas vide. |
objectType |
Type d'objet pour lequel les résultats de facette sont renvoyés. Ce champ peut être vide. |
operatorName |
Nom de l'opérateur choisi pour la segmentation. @see cloudsearch.SchemaPropertyOptions |
buckets[] |
FacetBuckets pour les valeurs de la réponse contenant au moins un résultat avec le filtre correspondant. |
FacetBucket
Un bucket dans un facette est l'unité d'opération de base. Un bucket peut comprendre une seule valeur OU une plage de valeurs contiguë, selon le type de champ mis en bucket. FacetBucket n'est actuellement utilisé que pour renvoyer l'objet de réponse.
| Représentation JSON |
|---|
{ "count": integer, "percentage": integer, "filter": { object ( |
| Champs | |
|---|---|
count |
Nombre de résultats correspondant à la valeur du bucket. Les nombres ne sont renvoyés pour les recherches que lorsque la précision du nombre est assurée. Cloud Search ne garantit pas le nombre de facettes pour les requêtes. Il est possible que le nombre de facettes ne soit présent que de manière intermittente, même pour des requêtes identiques. Ne créez pas de dépendances sur l'existence du nombre de facettes. Utilisez plutôt les pourcentages de nombre de facettes, qui sont toujours renvoyés. |
percentage |
Pourcentage de résultats correspondant à la valeur du bucket. La valeur renvoyée est comprise entre 0 et 100 (exclus) et est arrondie à l'entier inférieur si elle est fractionnaire. Si la valeur n'est pas explicitement renvoyée, elle représente un pourcentage arrondi à 0. Des pourcentages sont renvoyés pour toutes les recherches, mais il s'agit d'une estimation. Étant donné que les pourcentages sont toujours renvoyés, vous devez les afficher plutôt que les nombres. |
filter |
Filtre à transmettre dans la requête de recherche si le bucket correspondant est sélectionné. |
Champ d'union bucket_value. La plage ou la valeur du bucket facetté bucket_value ne peut être que l'une des suivantes : |
|
value |
|
ResponseDebugInfo
Informations de débogage sur la réponse.
| Représentation JSON |
|---|
{ "formattedDebugInfo": string } |
| Champs | |
|---|---|
formattedDebugInfo |
Informations de débogage générales mises en forme pour l'affichage. |
Information sur l'erreur
Informations sur les erreurs concernant la réponse.
| Représentation JSON |
|---|
{
"errorMessages": [
{
object ( |
| Champs | |
|---|---|
errorMessages[] |
|
ErrorMessage
Message d'erreur par réponse de source.
| Représentation JSON |
|---|
{
"source": {
object ( |
| Champs | |
|---|---|
source |
|
errorMessage |
|
ResultCounts
Informations sur le nombre de résultats
| Représentation JSON |
|---|
{
"sourceResultCounts": [
{
object ( |
| Champs | |
|---|---|
sourceResultCounts[] |
Informations sur le nombre de résultats pour chaque source avec des résultats. |
SourceResultCount
Informations sur le nombre de résultats par source.
| Représentation JSON |
|---|
{ "source": { object ( |
| Champs | |
|---|---|
source |
Source à laquelle les informations sur le nombre de résultats sont associées. |
hasMoreResults |
Indique s'il existe d'autres résultats de recherche pour cette source. |
Champ d'union
|
|
resultCountEstimate |
Nombre de résultats estimés pour cette source. |
resultCountExact |
Nombre exact de résultats pour cette source. |