REST Resource: projects.locations.evaluations

Ressource : Evaluation

Une évaluation est une exécution (ou un cycle) unique d'un processus d'évaluation. Elle englobe l'état de l'évaluation et les données obtenues.

Représentation JSON
{
  "name": string,
  "evaluationSpec": {
    object (EvaluationSpec)
  },
  "qualityMetrics": {
    object (QualityMetrics)
  },
  "state": enum (State),
  "error": {
    object (Status)
  },
  "createTime": string,
  "endTime": string,
  "errorSamples": [
    {
      object (Status)
    }
  ]
}
Champs
name

string

Identifiant. Nom complet de la ressource Evaluation, au format projects/{project}/locations/{location}/evaluations/{evaluation}.

Ce champ doit être une chaîne encodée au format UTF-8, dont la longueur ne doit pas dépasser 1 024 caractères.

evaluationSpec

object (EvaluationSpec)

Obligatoire. Spécification de l'évaluation.

qualityMetrics

object (QualityMetrics)

Uniquement en sortie. Moyenne des métriques produites par l'évaluation pour tous les SampleQuery dans SampleQuerySet.

Renseigné uniquement lorsque l'état de l'évaluation est "SUCCEEDED" (RÉUSSIE).

state

enum (State)

Uniquement en sortie. État de l'évaluation.

error

object (Status)

Uniquement en sortie. Erreur survenue lors de l'évaluation. N'est renseigné que lorsque l'état de l'évaluation est "FAILED" (ÉCHEC).

createTime

string (Timestamp format)

Uniquement en sortie. Code temporel de la création de Evaluation.

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 : "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

endTime

string (Timestamp format)

Uniquement en sortie. Code temporel de la fin de l'Evaluation.

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 : "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

errorSamples[]

object (Status)

Uniquement en sortie. Exemple d'erreurs rencontrées lors du traitement de la demande.

EvaluationSpec

Décrit les spécifications de l'évaluation.

Représentation JSON
{
  "querySetSpec": {
    object (QuerySetSpec)
  },

  // Union field search_spec can be only one of the following:
  "searchRequest": {
    object (SearchRequest)
  }
  // End of list of possible types for union field search_spec.
}
Champs
querySetSpec

object (QuerySetSpec)

Facultatif. Spécification de l'ensemble de requêtes.

Champ d'union search_spec. Spécification de la recherche. search_spec ne peut être qu'un des éléments suivants :
searchRequest

object (SearchRequest)

Obligatoire. Requête de recherche utilisée pour effectuer l'évaluation.

Seuls les champs suivants de SearchRequest sont acceptés. Si d'autres champs sont fournis, une erreur UNSUPPORTED sera renvoyée :

SearchRequest

Message de requête pour la méthode SearchService.Search.

Représentation JSON
{
  "servingConfig": string,
  "branch": string,
  "query": string,
  "pageCategories": [
    string
  ],
  "imageQuery": {
    object (ImageQuery)
  },
  "pageSize": integer,
  "pageToken": string,
  "offset": integer,
  "oneBoxPageSize": integer,
  "dataStoreSpecs": [
    {
      object (DataStoreSpec)
    }
  ],
  "numResultsPerDataStore": integer,
  "filter": string,
  "canonicalFilter": string,
  "orderBy": string,
  "userInfo": {
    object (UserInfo)
  },
  "languageCode": string,
  "regionCode": string,
  "facetSpecs": [
    {
      object (FacetSpec)
    }
  ],
  "boostSpec": {
    object (BoostSpec)
  },
  "params": {
    string: value,
    ...
  },
  "queryExpansionSpec": {
    object (QueryExpansionSpec)
  },
  "spellCorrectionSpec": {
    object (SpellCorrectionSpec)
  },
  "userPseudoId": string,
  "contentSearchSpec": {
    object (ContentSearchSpec)
  },
  "embeddingSpec": {
    object (EmbeddingSpec)
  },
  "rankingExpression": string,
  "rankingExpressionBackend": enum (RankingExpressionBackend),
  "safeSearch": boolean,
  "userLabels": {
    string: string,
    ...
  },
  "naturalLanguageQueryUnderstandingSpec": {
    object (NaturalLanguageQueryUnderstandingSpec)
  },
  "searchAsYouTypeSpec": {
    object (SearchAsYouTypeSpec)
  },
  "displaySpec": {
    object (DisplaySpec)
  },
  "crowdingSpecs": [
    {
      object (CrowdingSpec)
    }
  ],
  "session": string,
  "sessionSpec": {
    object (SessionSpec)
  },
  "relevanceThreshold": enum (RelevanceThreshold),
  "relevanceFilterSpec": {
    object (RelevanceFilterSpec)
  },
  "personalizationSpec": {
    object (PersonalizationSpec)
  },
  "relevanceScoreSpec": {
    object (RelevanceScoreSpec)
  },
  "searchAddonSpec": {
    object (SearchAddonSpec)
  },
  "customRankingParams": {
    object (CustomRankingParams)
  },
  "entity": string
}
Champs
servingConfig

string

Obligatoire. Nom de ressource de la configuration de diffusion de la recherche, par exemple projects/*/locations/global/collections/default_collection/engines/*/servingConfigs/default_serving_config ou projects/*/locations/global/collections/default_collection/dataStores/default_data_store/servingConfigs/default_serving_config. Ce champ permet d'identifier le nom de la configuration de diffusion, l'ensemble de modèles utilisés pour effectuer la recherche.

branch

string

Nom de ressource de la branche, par exemple projects/*/locations/global/collections/default_collection/dataStores/default_data_store/branches/0.

Utilisez default_branch comme ID de branche ou laissez ce champ vide pour rechercher des documents dans la branche par défaut.

query

string

Requête de recherche brute.

pageCategories[]

string

Facultatif. Catégories associées à une page de catégorie. Doit être défini pour les requêtes de navigation par catégorie afin d'obtenir une bonne qualité de recherche. Le format doit être le même que PageInfo.page_category. Ce champ est l'équivalent de la requête pour les requêtes de navigation. Il est utilisé par le modèle de navigation lorsque la requête est vide.

Si le champ est vide, il ne sera pas utilisé par le modèle de navigation. Si le champ contient plusieurs éléments, seul le premier sera utilisé.

Pour représenter le chemin d'accès complet d'une catégorie, utilisez le caractère ">" pour séparer les différentes hiérarchies. Si le symbole ">" fait partie du nom de la catégorie, remplacez-le par un ou plusieurs autres caractères. Par exemple, Graphics Cards > RTX>4090 > Founders Edition où "RTX > 4090" représente un niveau, peut être réécrit comme Graphics Cards > RTX_4090 > Founders Edition.

imageQuery

object (ImageQuery)

Requête d'image brute.

pageSize

integer

Nombre maximal de Document à renvoyer. La valeur maximale autorisée dépend du type de données. Les valeurs supérieures à la valeur maximale sont ramenées à la valeur maximale.

  • Sites Web avec indexation de base : 10 par défaut, 25 au maximum.
  • Sites Web avec indexation avancée : 25 par défaut, 50 maximum.
  • Autre : valeur par défaut 50, valeur maximale 100.

Si ce champ est négatif, une erreur INVALID_ARGUMENT est renvoyée.

pageToken

string

Jeton de page reçu d'un appel SearchService.Search précédent. Fournissez-le pour récupérer la page suivante.

Lors de la pagination, tous les autres paramètres fournis à SearchService.Search doivent correspondre à l'appel ayant fourni le jeton de page. Dans le cas contraire, une erreur INVALID_ARGUMENT est renvoyée.

offset

integer

Entier à index zéro spécifiant le décalage actuel (c'est-à-dire l'emplacement du résultat de départ parmi les Document jugés pertinents par l'API) dans les résultats de recherche. Ce champ n'est pris en compte que si pageToken n'est pas spécifié.

Si ce champ est négatif, une erreur INVALID_ARGUMENT est renvoyée.

Un décalage important peut être plafonné à un seuil raisonnable.

oneBoxPageSize

integer

Nombre maximal de résultats à renvoyer pour OneBox. Cela s'applique à chaque type de OneBox individuellement. Le nombre par défaut est 10.

dataStoreSpecs[]

object (DataStoreSpec)

Spécifications qui définissent les DataStore spécifiques à rechercher, ainsi que les configurations de ces datastores. Cela n'est pris en compte que pour les Engine avec plusieurs datastores. Pour les moteurs avec un seul data store, les spécifications directement sous SearchRequest doivent être utilisées.

numResultsPerDataStore

integer

Facultatif. Nombre maximal de résultats à récupérer dans chaque data store. Si aucune valeur n'est spécifiée, la valeur SearchRequest.DataStoreSpec.num_results sera utilisée si elle est fournie. Sinon, il n'y aura aucune limite.

filter

string

La syntaxe des filtres consiste en un langage d'expression permettant de construire un prédicat à partir d'un ou de plusieurs champs des documents filtrés. L'expression de filtre est sensible à la casse.

Si ce champ n'est pas reconnaissable, une erreur INVALID_ARGUMENT est renvoyée.

Le filtrage dans Vertex AI Search s'effectue en mappant la clé de filtre LHS à une propriété clé définie dans le backend Vertex AI Search. Ce mappage est défini par le client dans son schéma. Par exemple, un client média peut avoir un champ "name" (nom) dans son schéma. Dans ce cas, le filtre se présenterait comme suit : filter --> name:'ANY("king kong")'

Pour en savoir plus sur le filtrage, y compris sur la syntaxe et les opérateurs de filtre, consultez Filtrer.

canonicalFilter

string

Filtre par défaut appliqué lorsqu'un utilisateur effectue une recherche sans cocher de filtres sur la page de recherche.

Filtre appliqué à chaque requête de recherche lorsque l'amélioration de la qualité, telle que l'expansion de requête, est nécessaire. Si une requête ne génère pas suffisamment de résultats, ce filtre sera utilisé pour déterminer s'il faut activer ou non le flux d'extension des requêtes. Le filtre d'origine sera toujours utilisé pour la recherche élargie de la requête. Ce champ est fortement recommandé pour obtenir une qualité de recherche élevée.

Pour en savoir plus sur la syntaxe des filtres, consultez SearchRequest.filter.

orderBy

string

Ordre dans lequel les documents sont renvoyés. Les documents peuvent être triés par champ dans un objet Document. Laissez-le non défini si les résultats sont triés par pertinence. L'expression orderBy est sensible à la casse.

Pour en savoir plus sur le tri des résultats de recherche sur le Web, consultez Trier les résultats de recherche sur le Web. Pour en savoir plus sur le tri des résultats de recherche dans le domaine de la santé, consultez Trier les résultats de recherche dans le domaine de la santé. Si ce champ n'est pas reconnaissable, un INVALID_ARGUMENT est renvoyé.

userInfo

object (UserInfo)

Informations sur l'utilisateur final. Fortement recommandé pour l'analyse et la personnalisation. UserInfo.user_agent est utilisé pour déduire deviceType à des fins d'analyse.

languageCode

string

Le code de langue BCP-47 ("en-US" ou "sr-Latn", par exemple). Pour en savoir plus, consultez Champs standards. Ce champ permet de mieux interpréter la requête. Si aucune valeur n'est spécifiée, le code de langue de la requête est détecté automatiquement, ce qui peut ne pas être exact.

regionCode

string

Le code de pays/région Unicode (CLDR) d'un emplacement, tel que "US" et "419". Pour en savoir plus, consultez Champs standards. Si cette valeur est définie, les résultats seront mis en avant en fonction du code régional fourni.

facetSpecs[]

object (FacetSpec)

Spécifications des facettes pour la recherche par facettes. Si cette valeur est vide, aucune facette n'est renvoyée.

Vous ne pouvez pas saisir plus de 100 valeurs. Dans le cas contraire, une erreur INVALID_ARGUMENT est renvoyée.

boostSpec

object (BoostSpec)

Spécification de l'amplification pour amplifier certains documents. Pour en savoir plus sur l'amplification, consultez Amplification.

params

map (key: string, value: value (Value format))

Paramètres de recherche supplémentaires.

Pour la recherche sur les sites Web publics uniquement, les valeurs acceptées sont les suivantes :

  • user_country_code : chaîne. La valeur par défaut est vide. Si la valeur n'est pas vide, les résultats sont limités ou mis en avant en fonction de l'emplacement fourni. Par exemple, user_country_code: "au".

Pour connaître les codes disponibles, consultez Codes pays.

  • searchType : double. La valeur par défaut est vide. Permet la recherche de contenu autre que des pages Web en fonction de la valeur. La seule valeur non définie par défaut valide est 1, qui permet la recherche d'images. Par exemple, searchType: 1.
queryExpansionSpec

object (QueryExpansionSpec)

Spécification de l'extension des requêtes qui définit les conditions dans lesquelles l'extension des requêtes se produit.

spellCorrectionSpec

object (SpellCorrectionSpec)

Spécification de la correction orthographique qui indique le mode d'application de la correction orthographique.

userPseudoId

string

Facultatif. Identifiant unique permettant d'effectuer le suivi des visiteurs. Par exemple, cela peut être implémenté avec un cookie HTTP, qui doit pouvoir identifier de manière unique un visiteur sur un seul appareil. Cet identifiant unique ne doit pas changer si le visiteur se connecte au site Web ou s'en déconnecte.

Ce champ ne doit PAS avoir de valeur fixe telle que unknown_visitor.

Cet identifiant doit être identique à celui de UserEvent.user_pseudo_id et CompleteQueryRequest.user_pseudo_id.

Le champ doit être une chaîne encodée au format UTF-8, dont la longueur ne doit pas dépasser 128 caractères. Sinon, une erreur INVALID_ARGUMENT est renvoyée.

contentSearchSpec

object (ContentSearchSpec)

Spécification permettant de configurer le comportement de la recherche de contenu.

embeddingSpec

object (EmbeddingSpec)

Utilise l'embedding fourni pour effectuer une récupération sémantique supplémentaire des documents. La récupération est basée sur le produit scalaire de SearchRequest.EmbeddingSpec.EmbeddingVector.vector et de l'embedding de document fourni dans SearchRequest.EmbeddingSpec.EmbeddingVector.field_path.

Si SearchRequest.EmbeddingSpec.EmbeddingVector.field_path n'est pas fourni, ServingConfig.EmbeddingConfig.field_path sera utilisé.

rankingExpression

string

Facultatif. L'expression de classement contrôle le classement personnalisé des documents récupérés. Cela remplace ServingConfig.ranking_expression. La syntaxe et les fonctionnalités acceptées dépendent de la valeur rankingExpressionBackend. Si rankingExpressionBackend n'est pas fourni, la valeur par défaut est RANK_BY_EMBEDDING.

Si rankingExpressionBackend n'est pas fourni ou est défini sur RANK_BY_EMBEDDING, il doit s'agir d'une ou de plusieurs fonctions jointes par "+".

  • rankingExpression = function, { " + ", function };

Fonctions compatibles :

  • double * relevanceScore
  • double * dotProduct(embedding_field_path)

Variables de fonction :

  • relevanceScore : mots clés prédéfinis, utilisés pour mesurer la pertinence entre la requête et le document.
  • embedding_field_path : champ d'embedding de document utilisé avec le vecteur d'embedding de requête.
  • dotProduct : fonction d'embedding entre embedding_field_path et le vecteur d'embedding de la requête.

Exemple d'expression de classement :

Si le document comporte un champ d'intégration doc_embedding, l'expression de classement peut être 0.5 * relevanceScore + 0.3 * dotProduct(doc_embedding).

Si rankingExpressionBackend est défini sur RANK_BY_FORMULA, les types d'expression suivants (et les combinaisons de ceux-ci enchaînés à l'aide des opérateurs + ou *) sont acceptés :

  • double
  • signal
  • log(signal)
  • exp(signal)
  • rr(signal, double > 0) : transformation du rang réciproque, le deuxième argument étant une constante de dénominateur.
  • isNan(signal) : renvoie 0 si le signal est NaN, 1 sinon.
  • fillNan(signal1, signal2 | double) : renvoie signal2 | double si signal1 est NaN, sinon renvoie signal1.

Voici quelques exemples de formules de classement qui utilisent les types d'expressions de classement acceptés :

  • 0.2 * semanticSimilarityScore + 0.8 * log(keywordSimilarityScore) : classement principalement basé sur le logarithme de keywordSimilarityScore avec un léger ajustement semantic_smilarity_score.
  • 0.2 * exp(fillNan(semanticSimilarityScore, 0)) + 0.3 * isNan(keywordSimilarityScore) : classe par l'exposant de semanticSimilarityScore en remplissant la valeur par 0 si elle est NaN, et ajoute également un ajustement constant de 0,3 au score final si semanticSimilarityScore est NaN.
  • 0.2 * rr(semanticSimilarityScore, 16) + 0.8 * rr(keywordSimilarityScore, 16) : classement principalement basé sur le rang réciproque de keywordSimilarityScore, avec un léger ajustement du rang réciproque de semantic_smilarity_score.

Les signaux suivants sont acceptés :

  • semanticSimilarityScore : ajustement de la similarité sémantique calculé à l'aide des embeddings générés par un modèle Google propriétaire. Ce score détermine la similarité sémantique entre une requête de recherche et un document.
  • keywordSimilarityScore : l'ajustement de la correspondance des mots clés utilise la fonction de classement Best Match 25 (BM25). Ce score est calculé à l'aide d'un modèle probabiliste pour estimer la probabilité qu'un document soit pertinent pour une requête donnée.
  • relevanceScore : ajustement de la pertinence sémantique qui utilise un modèle Google propriétaire pour déterminer la signification et l'intention d'une requête utilisateur dans le contexte du contenu des documents.
  • pctrRank : ajustement du taux de conversion prévu en tant que classement. Le taux de clics prévu (pCTR) est utilisé pour évaluer la pertinence et l'attractivité d'un résultat de recherche du point de vue de l'utilisateur. Un CTR prédictif élevé suggère que le résultat est plus susceptible de répondre à la requête et à l'intention de l'utilisateur, ce qui en fait un signal précieux pour le classement.
  • freshnessRank : ajustement de la fraîcheur sous forme de classement
  • documentAge : temps écoulé en heures depuis la dernière mise à jour du document, sous forme de nombre à virgule flottante (par exemple, 0,25 correspond à 15 minutes).
  • topicalityRank : ajustement de la pertinence thématique sous forme de classement. Utilise un modèle Google propriétaire pour déterminer le chevauchement basé sur les mots clés entre la requête et le document.
  • baseRank : rang par défaut du résultat
rankingExpressionBackend

enum (RankingExpressionBackend)

Facultatif. Backend à utiliser pour l'évaluation de l'expression de classement.

userLabels

map (key: string, value: string)

Les libellés utilisateur appliqués à une ressource doivent répondre aux exigences suivantes :

  • Chaque ressource peut posséder plusieurs libellés, jusqu'à un maximum de 64.
  • Chaque étiquette doit correspondre à une paire clé/valeur.
  • Les clés doivent comporter un (1) caractère au minimum et 63 au maximum, et ne peuvent pas être vides. Les valeurs peuvent être vides et comporter 63 caractères au maximum.
  • Les clés et les valeurs ne peuvent contenir que des lettres minuscules, des chiffres, des traits de soulignement et des tirets. Tous les caractères doivent être au format d'encodage UTF-8. Les caractères internationaux sont autorisés.
  • La partie clé d'un libellé doit être unique. Cependant, vous pouvez utiliser la même clé avec plusieurs ressources.
  • Les clés doivent commencer par une lettre minuscule ou un caractère international.

Pour en savoir plus, consultez la documentation Google Cloud.

naturalLanguageQueryUnderstandingSpec

object (NaturalLanguageQueryUnderstandingSpec)

Facultatif. Configuration des fonctionnalités de compréhension des requêtes en langage naturel, comme l'extraction des filtres de champs structurés à partir de la requête. Pour en savoir plus, consultez cette documentation. Si naturalLanguageQueryUnderstandingSpec n'est pas spécifié, aucune compréhension supplémentaire des requêtes en langage naturel ne sera effectuée.

searchAsYouTypeSpec

object (SearchAsYouTypeSpec)

Configuration de la saisie semi-automatique. N'est compatible qu'avec le secteur IndustryVertical.MEDIA.

displaySpec

object (DisplaySpec)

Facultatif. Configuration de la fonctionnalité d'affichage, comme la mise en surbrillance des correspondances dans les résultats de recherche.

crowdingSpecs[]

object (CrowdingSpec)

Facultatif. Spécifications de regroupement pour améliorer la diversité des résultats. Si plusieurs CrowdingSpecs sont spécifiés, l'entassement sera évalué pour chaque combinaison unique des valeurs field, et maxCount sera la valeur maximale de maxCount pour tous les CrowdingSpecs. Par exemple, si le premier CrowdingSpec a field = "color" et maxCount = 3, et que le deuxième CrowdingSpec a field = "size" et maxCount = 2, alors après que trois documents partageant la même couleur ET la même taille ont été renvoyés, les suivants doivent être supprimés ou rétrogradés.

session

string

Nom de ressource de la session. Facultatif.

La session permet aux utilisateurs d'effectuer des appels d'API /search multitours ou de coordonner les appels d'API /search et /answer.

Exemple 1 (appels d'API multi-tours /de recherche) : appelez l'API /search avec l'ID de session généré lors du premier appel. Ici, la requête de recherche précédente est prise en compte dans la requête actuelle. Par exemple, si la première requête est "Quels ont été les résultats d'Alphabet en 2022 ?" et que la requête actuelle est "Et en 2023 ?", la requête actuelle sera interprétée comme "Quels ont été les résultats d'Alphabet en 2023 ?".

Exemple 2 (coordination entre les appels d'API /search et /answer) : appelez l'API /answer avec l'ID de session généré lors du premier appel. Ici, la génération de la réponse se fait dans le contexte des résultats de recherche du premier appel à la recherche.

sessionSpec

object (SessionSpec)

Spécification de la session.

Ne peut être utilisé que lorsque session est défini.

relevanceThreshold

enum (RelevanceThreshold)

Seuil de pertinence global des résultats de recherche.

La valeur par défaut est le seuil défini par Google, qui utilise un équilibre entre précision et rappel pour fournir des résultats très précis et une couverture complète des informations pertinentes.

Si vous avez besoin d'un filtrage de la pertinence plus précis, utilisez plutôt relevanceFilterSpec.

Cette fonctionnalité n'est pas disponible pour la recherche dans le secteur de la santé.

relevanceFilterSpec

object (RelevanceFilterSpec)

Facultatif. Spécification du filtrage par pertinence précis.

Si aucune valeur n'est spécifiée, le relevanceThreshold global est utilisé pour toutes les sous-recherches. Si une valeur est spécifiée, elle remplace le relevanceThreshold global pour utiliser des seuils pour chaque sous-recherche.

Cette fonctionnalité n'est actuellement disponible que pour la recherche personnalisée et la recherche sur le site.

personalizationSpec

object (PersonalizationSpec)

Spécification de la personnalisation.

Notez que si ServingConfig.personalization_spec et SearchRequest.personalization_spec sont définis, SearchRequest.personalization_spec remplace ServingConfig.personalization_spec.

relevanceScoreSpec

object (RelevanceScoreSpec)

Facultatif. Spécification pour renvoyer le score de pertinence.

searchAddonSpec

object (SearchAddonSpec)

Facultatif. SearchAddonSpec permet de désactiver les modules complémentaires pour la recherche conformément au nouveau modèle de revalorisation. Ce champ n'est disponible que pour les demandes de recherche.

customRankingParams

object (CustomRankingParams)

Facultatif. Configuration facultative pour la fonctionnalité de classement personnalisé.

entity

string

Facultatif. Entité pour les clients susceptibles d'exécuter plusieurs entités, domaines, sites ou régions différents (par exemple, "Google US", "Google Ads", "Waymo", "google.com", "youtube.com", etc.). Si cette valeur est définie, elle doit correspondre exactement à UserEvent.entity pour que les résultats de recherche soient boostés par entité.

ImageQuery

Spécifie l'entrée de la requête d'image.

Représentation JSON
{

  // Union field image can be only one of the following:
  "imageBytes": string
  // End of list of possible types for union field image.
}
Champs

Champ d'union image.

image ne peut être qu'un des éléments suivants :

imageBytes

string

Octets de l'image encodés en base64. Formats d'image acceptés : JPEG, PNG et BMP.

DataStoreSpec

Structure permettant de définir les data stores à filtrer dans un appel de recherche et les configurations de ces data stores. Dans le cas contraire, une erreur INVALID_ARGUMENT est renvoyée.

Représentation JSON
{
  "dataStore": string,
  "filter": string,
  "boostSpec": {
    object (BoostSpec)
  },
  "customSearchOperators": string,
  "numResults": integer
}
Champs
dataStore

string

Obligatoire. Nom complet de la ressource DataStore, par exemple projects/{project}/locations/{location}/collections/{collectionId}/dataStores/{dataStoreId}. Le chemin d'accès doit inclure le numéro du projet. L'ID du projet n'est pas accepté dans ce champ.

filter

string

Facultatif. Spécification de filtre permettant de filtrer les documents dans le data store spécifié par le champ "dataStore". Pour en savoir plus sur le filtrage, consultez Filtrage.

boostSpec

object (BoostSpec)

Facultatif. Booster les spécifications pour mettre en avant certains documents. Pour en savoir plus sur le boosting, consultez Booster.

customSearchOperators

string

Facultatif. Opérateurs de recherche personnalisés qui, s'ils sont spécifiés, seront utilisés pour filtrer les résultats des data stores de l'espace de travail. Pour en savoir plus sur les opérateurs de recherche personnalisés, consultez SearchOperators.

numResults

integer

Facultatif. Nombre maximal de résultats à récupérer à partir de ce data store. Si aucune valeur n'est spécifiée, la valeur SearchRequest.num_results_per_data_store sera utilisée si elle est fournie. Sinon, il n'y aura aucune limite. Si ce champ et SearchRequest.num_results_per_data_store sont spécifiés, ce champ sera utilisé.

BoostSpec

Booster les spécifications pour mettre en avant certains documents.

Représentation JSON
{
  "conditionBoostSpecs": [
    {
      object (ConditionBoostSpec)
    }
  ]
}
Champs
conditionBoostSpecs[]

object (ConditionBoostSpec)

Spécifications du boost de condition. Si un document correspond à plusieurs conditions dans les spécifications, les scores d'augmentation de ces spécifications sont tous appliqués et combinés de manière non linéaire. Le nombre maximal de spécifications est de 20.

ConditionBoostSpec

Le boost s'applique aux documents qui correspondent à une condition.

Représentation JSON
{
  "condition": string,
  "boost": number,
  "boostControlSpec": {
    object (BoostControlSpec)
  }
}
Champs
condition

string

Expression qui spécifie une condition de boost. La syntaxe et les champs acceptés sont les mêmes que ceux d'une expression de filtre. Pour en savoir plus sur la syntaxe et les limites, consultez SearchRequest.filter.

Exemples :

  • Pour booster les documents dont l'ID est "doc_1" ou "doc_2", et dont la couleur est "Rouge" ou "Bleu" : (documentId: ANY("doc_1", "doc_2")) AND (color: ANY("Red", "Blue"))
boost

number

Intensité du boosting de la condition, qui doit être comprise entre -1 et 1. Un boosting négatif correspond à une rétrogradation. La valeur par défaut est 0.0.

Définir la valeur sur 1.0 permet de promouvoir fortement le document. Toutefois, cela ne signifie pas nécessairement que le document boosté sera toujours considéré comme le meilleur résultat, ni que d'autres documents seront forcément exclus. De plus, des résultats peuvent toujours être affichés, même si aucun article ne correspond à la condition. De plus, les résultats nettement plus pertinents pour la requête de recherche peuvent toujours l'emporter sur vos documents très privilégiés mais non pertinents.

Si vous définissez la valeur sur -1,0, le document est fortement rétrogradé. Toutefois, les résultats très pertinents peuvent toujours être affichés. Le document devra se battre pour obtenir un classement assez élevé, mais il n'est pas complètement bloqué.

Si vous définissez la valeur sur 0,0, aucune amélioration n'est appliquée. La condition de boost est ignorée. Seule l'une des combinaisons (condition, boost) ou boostControlSpec ci-dessous est définie. Si les deux sont définis, l'augmentation globale est ignorée et la spécification boostControlSpec plus précise est appliquée.

boostControlSpec

object (BoostControlSpec)

Spécification complexe pour le classement personnalisé basé sur la valeur de l'attribut défini par le client.

BoostControlSpec

Spécification du classement personnalisé basé sur la valeur de l'attribut spécifiée par le client. Elle offre plus de contrôles pour le classement personnalisé que la simple combinaison (condition, boost) ci-dessus.

Représentation JSON
{
  "fieldName": string,
  "attributeType": enum (AttributeType),
  "interpolationType": enum (InterpolationType),
  "controlPoints": [
    {
      object (ControlPoint)
    }
  ]
}
Champs
fieldName

string

Nom du champ dont la valeur sera utilisée pour déterminer le montant du boost.

attributeType

enum (AttributeType)

Type d'attribut à utiliser pour déterminer le montant du boost. La valeur de l'attribut peut être dérivée de la valeur du champ spécifié dans fieldName. Dans le cas d'une valeur numérique, c'est simple : attributeValue = numerical_field_value. Dans le cas de la fraîcheur, cependant, attributeValue = (time.now() - datetime_field_value).

interpolationType

enum (InterpolationType)

Type d'interpolation à appliquer pour connecter les points de contrôle listés ci-dessous.

controlPoints[]

object (ControlPoint)

Points de contrôle utilisés pour définir la courbe. La fonction monotone (définie par interpolationType ci-dessus) passe par les points de contrôle listés ici.

AttributeType

Attribut(ou fonction) auquel le classement personnalisé doit être appliqué.

Enums
ATTRIBUTE_TYPE_UNSPECIFIED Type d'attribut non spécifié.
NUMERICAL La valeur du champ numérique sera utilisée pour mettre à jour dynamiquement le montant du boost. Dans ce cas, la valeur d'attribut (valeur x) du point de contrôle correspondra à la valeur réelle du champ numérique pour lequel boostAmount est spécifié.
FRESHNESS Pour le cas d'utilisation de la fraîcheur, la valeur de l'attribut correspond à la durée entre l'heure actuelle et la date indiquée dans le champ de date et heure. La valeur doit être formatée en tant que valeur dayTimeDuration XSD (sous-ensemble restreint d'une valeur de durée ISO 8601). Le modèle est le suivant : [nD][T[nH][nM][nS]]. Par exemple, 5D, 3DT12H30M, T24H.

InterpolationType

Type d'interpolation à appliquer. La valeur par défaut est "linéaire" (linéaire par morceaux).

Enums
INTERPOLATION_TYPE_UNSPECIFIED Le type d'interpolation n'est pas spécifié. Dans ce cas, la valeur par défaut est "Linéaire".
LINEAR Une interpolation linéaire par morceaux sera appliquée.

ControlPoint

Points de contrôle utilisés pour définir la courbe. La courbe définie par ces points de contrôle ne peut qu'augmenter ou diminuer de manière monotone(les valeurs constantes sont acceptables).

Représentation JSON
{
  "attributeValue": string,
  "boostAmount": number
}
Champs
attributeValue

string

Peut être l'une des valeurs suivantes : 1. Valeur numérique du champ. 2. Spécification de la durée de fraîcheur : la valeur doit être mise en forme en tant que valeur dayTimeDuration XSD (sous-ensemble restreint d'une valeur de durée ISO 8601). Le format est le suivant : [nD][T[nH][nM][nS]].

boostAmount

number

Valeur comprise entre -1 et 1 permettant d'augmenter le score si la valeur de l'attribut correspond à la valeur spécifiée ci-dessus.

FacetSpec

Spécification d'attributs pour effectuer une recherche par attributs.

Représentation JSON
{
  "facetKey": {
    object (FacetKey)
  },
  "limit": integer,
  "excludedFilterKeys": [
    string
  ],
  "enableDynamicPosition": boolean
}
Champs
facetKey

object (FacetKey)

Obligatoire. Spécification de la clé de facette.

limit

integer

Nombre maximal de valeurs d'attributs renvoyées pour cet attribut. Si aucune valeur n'est spécifiée, la valeur par défaut est 20. La valeur maximale autorisée est de 300. Les valeurs supérieures à 300 sont réduites à 300. Pour l'agrégation dans la recherche médicale, lorsque [FacetKey.key] est défini sur "healthcare_aggregation_key", la limite est remplacée par 10 000 en interne, quelle que soit la valeur définie ici.

Si ce champ est négatif, une erreur INVALID_ARGUMENT est renvoyée.

excludedFilterKeys[]

string

Liste des clés à exclure lors de la création de facettes.

Par défaut, FacetKey.key n'est pas exclu du filtre, sauf s'il est indiqué dans ce champ.

Si vous indiquez une clé d'attribut dans ce champ, ses valeurs peuvent apparaître en tant que résultats d'attributs, même si elles sont filtrées dans les résultats de recherche. L'utilisation de ce champ n'a aucune incidence sur les résultats de recherche renvoyés.

Par exemple, supposons qu'il existe 100 documents avec la facette de couleur "Rouge" et 200 documents avec la facette de couleur "Bleu". Une requête contenant le filtre "color:ANY("Red")" et ayant "color" comme FacetKey.key renverrait par défaut uniquement les documents "Red" dans les résultats de recherche, et renverrait également "Red" avec le nombre 100 comme seul facette de couleur. Bien que des documents bleus soient également disponibles, "Bleu" ne s'affiche pas comme valeur de facette disponible.

Si "color" figure dans "excludedFilterKeys", la requête renvoie les valeurs de facette "Rouge" avec le nombre 100 et "Bleu" avec le nombre 200, car la clé "color" est désormais exclue du filtre. Étant donné que ce champ n'affecte pas les résultats de recherche, ceux-ci sont toujours correctement filtrés pour ne renvoyer que les documents "Rouge".

Vous ne pouvez pas saisir plus de 100 valeurs. Dans le cas contraire, une erreur INVALID_ARGUMENT est renvoyée.

enableDynamicPosition

boolean

Active la position dynamique pour cet attribut. Si la valeur est définie sur "true", la position de cet attribut parmi tous les attributs de la réponse est déterminée automatiquement. Si les attributs dynamiques sont activés, ils sont classés ensemble. Si la valeur est définie sur "false", la position de cet attribut dans la réponse est la même que dans la requête. Il est classé avant les attributs avec position dynamique activée et tous les attributs dynamiques.

Par exemple, vous pouvez toujours vouloir que le facette de note soit renvoyée dans la réponse, mais il n'est pas nécessaire de toujours l'afficher en haut. Dans ce cas, vous pouvez définir enableDynamicPosition sur "true" pour que la position de l'attribut de note dans la réponse soit déterminée automatiquement.

Autre exemple, en supposant que vous ayez les facettes suivantes dans la requête :

  • "rating", enableDynamicPosition = true

  • "price", enableDynamicPosition = false

  • "brands", enableDynamicPosition = false

Vous avez également activé les facettes dynamiques, ce qui génère une facette gender. L'ordre final des facettes dans la réponse peut être ("price", "brands", "rating", "gender") ou ("price", "brands", "gender", "rating"), selon la façon dont l'API ordonne les facettes "gender" et "rating". Toutefois, notez que "price" et "brands" sont toujours classés en première et deuxième positions, car leur propriété enableDynamicPosition est définie sur "false".

FacetKey

Indique comment un facette est calculée.

Représentation JSON
{
  "key": string,
  "intervals": [
    {
      object (Interval)
    }
  ],
  "restrictedValues": [
    string
  ],
  "prefixes": [
    string
  ],
  "contains": [
    string
  ],
  "caseInsensitive": boolean,
  "orderBy": string
}
Champs
key

string

Obligatoire. Clés de facette textuelles et numériques acceptées dans l'objet Document, sur lesquelles les valeurs de facette sont calculées. La clé de facette est sensible à la casse.

intervals[]

object (Interval)

À définir uniquement si les valeurs doivent être réparties dans des intervalles. Doit être défini pour les facettes avec des valeurs numériques. Ne doit pas être défini pour une facette avec des valeurs de texte. Le nombre maximal d'intervalles est de 30.

restrictedValues[]

string

N'obtient que le facette pour les valeurs restreintes données. N'est compatible qu'avec les champs de texte. Par exemple, supposons que "category" comporte trois valeurs : "Action > 2022", "Action > 2021" et "Sci-Fi > 2022". Si vous définissez "restrictedValues" sur "Action > 2022", le facette "category" ne contient que "Action > 2022". N'est compatible qu'avec les champs de texte. Le nombre maximal est de 10.

prefixes[]

string

N'obtient que les valeurs de facette qui commencent par le préfixe de chaîne donné. Par exemple, supposons que "category" comporte trois valeurs : "Action > 2022", "Action > 2021" et "Sci-Fi > 2022". Si vous définissez "prefixes" sur "Action", la facette "category" ne contient que "Action > 2022" et "Action > 2021". (uniquement compatible avec les champs textuels) Le maximum est de 10.

contains[]

string

N'obtient que les valeurs de facette qui contiennent les chaînes données. Par exemple, supposons que "category" ait trois valeurs : "Action > 2022", "Action > 2021" et "Sci-Fi > 2022". Si "contains" est défini sur "2022", la facette "category" ne contient que "Action > 2022" et "Sci-Fi > 2022". N'est compatible qu'avec les champs textuels. Le nombre maximal est de 10.

caseInsensitive

boolean

"True" pour rendre les clés de facette insensibles à la casse lors de l'obtention des valeurs de facette avec des préfixes ou des valeurs "contains", "false" dans le cas contraire.

orderBy

string

Ordre dans lequel les documents sont renvoyés.

Les valeurs autorisées sont les suivantes :

Si ce champ n'est pas défini, les valeurs textuelles sont triées dans l'ordre naturel, et les intervalles numériques sont triés dans l'ordre indiqué par FacetSpec.FacetKey.intervals.

Intervalle

Intervalle à virgule flottante.

Représentation JSON
{

  // Union field min can be only one of the following:
  "minimum": number,
  "exclusiveMinimum": number
  // End of list of possible types for union field min.

  // Union field max can be only one of the following:
  "maximum": number,
  "exclusiveMaximum": number
  // End of list of possible types for union field max.
}
Champs

Champ d'union min. Limite inférieure de l'intervalle. Si aucun des champs min n'est défini, la limite inférieure est l'infini négatif.

Cette valeur ne doit pas être supérieure à la valeur maximale. Dans le cas contraire, une erreur INVALID_ARGUMENT est renvoyée. min ne peut être qu'un des éléments suivants :

minimum

number

Limite inférieure incluse.

exclusiveMinimum

number

Limite inférieure exclusive.

Champ d'union max. Limite supérieure de l'intervalle. Si aucun des champs "max" n'est défini, la limite supérieure est l'infini positif.

Ce champ ne doit pas être inférieur à la valeur minimale. Dans le cas contraire, une erreur INVALID_ARGUMENT est renvoyée. max ne peut être qu'un des éléments suivants :

maximum

number

Limite supérieure inclusive.

exclusiveMaximum

number

Limite supérieure exclusive.

QueryExpansionSpec

Spécification permettant de déterminer dans quelles conditions l'expansion de requête doit avoir lieu.

Représentation JSON
{
  "condition": enum (Condition),
  "pinUnexpandedResults": boolean
}
Champs
condition

enum (Condition)

Condition dans laquelle l'extension de requête doit se produire. Valeur par défaut : Condition.DISABLED

pinUnexpandedResults

boolean

Indique si les résultats non développés doivent être épinglés. Si ce champ est défini sur "True", les produits non étendus s'affichent toujours en haut des résultats de recherche, suivis des résultats étendus.

Condition

Énumération décrivant la condition dans laquelle l'expansion de requête doit se produire.

Enums
CONDITION_UNSPECIFIED Condition d'extension des requêtes non spécifiée. Dans ce cas, le comportement du serveur est défini par défaut sur Condition.DISABLED.
DISABLED L'extension des requêtes est désactivée. Seule la requête de recherche exacte est utilisée, même si SearchResponse.total_size est nul.
AUTO Extension automatique des requêtes générée par l'API Search.

SpellCorrectionSpec

Spécification pour la correction orthographique des requêtes.

Représentation JSON
{
  "mode": enum (Mode)
}
Champs
mode

enum (Mode)

Mode dans lequel la correction orthographique remplace la requête de recherche d'origine. La valeur par défaut est Mode.AUTO.

Mode

Énumération décrivant le mode dans lequel la correction orthographique doit avoir lieu.

Enums
MODE_UNSPECIFIED Mode de correction orthographique non spécifié. Dans ce cas, le comportement du serveur est défini par défaut sur Mode.AUTO.
SUGGESTION_ONLY L'API Search tente de trouver une suggestion orthographique. Si elle en trouve une, elle la place dans SearchResponse.corrected_query. La suggestion orthographique ne sera pas utilisée comme requête de recherche.
AUTO Correction orthographique automatique intégrée à l'API Search. La recherche sera basée sur la requête corrigée, si elle est trouvée.

EmbeddingSpec

Spécification qui utilise un vecteur d'embedding de requête personnalisé pour effectuer la récupération sémantique de documents.

Représentation JSON
{
  "embeddingVectors": [
    {
      object (EmbeddingVector)
    }
  ]
}
Champs
embeddingVectors[]

object (EmbeddingVector)

Vecteur d'embedding utilisé pour la récupération. Limite : 1.

EmbeddingVector

Vecteur d'embedding.

Représentation JSON
{
  "fieldPath": string,
  "vector": [
    number
  ]
}
Champs
fieldPath

string

Chemin d'accès du champ d'embedding dans le schéma.

vector[]

number

Vecteur d'embedding de la requête.

RankingExpressionBackend

Backend à utiliser pour l'évaluation de l'expression de classement.

Enums
RANKING_EXPRESSION_BACKEND_UNSPECIFIED Option par défaut pour les valeurs non spécifiées/inconnues.
BYOE

Obsolète : utilisez plutôt RANK_BY_EMBEDDING. Classement par modèle d'embedding personnalisé, la méthode par défaut pour évaluer l'expression de classement. Option d'énumération ancienne. Utilisez RANK_BY_EMBEDDING à la place.

CLEARBOX

Obsolète : utilisez RANK_BY_FORMULA à la place. Classement par formule personnalisée. Option d'énumération ancienne. Utilisez plutôt RANK_BY_FORMULA.

RANK_BY_EMBEDDING Classement par modèle d'embedding personnalisé, la méthode par défaut pour évaluer l'expression de classement.
RANK_BY_FORMULA Classement par formule personnalisée.

NaturalLanguageQueryUnderstandingSpec

Spécification permettant d'activer les fonctionnalités de compréhension du langage naturel pour les demandes de recherche.

Représentation JSON
{
  "filterExtractionCondition": enum (FilterExtractionCondition),
  "geoSearchQueryDetectionFieldNames": [
    string
  ],
  "extractedFilterBehavior": enum (ExtractedFilterBehavior),
  "allowedFieldNames": [
    string
  ]
}
Champs
filterExtractionCondition

enum (FilterExtractionCondition)

Condition dans laquelle l'extraction du filtre doit avoir lieu. Le comportement du serveur est défini par défaut sur DISABLED.

geoSearchQueryDetectionFieldNames[]

string

Noms de champs utilisés pour le filtrage basé sur la localisation, lorsque des filtres de géolocalisation sont détectés dans les requêtes de recherche en langage naturel. Valide uniquement lorsque FilterExtractionCondition est défini sur ENABLED.

extractedFilterBehavior

enum (ExtractedFilterBehavior)

Facultatif. Contrôle le comportement de l'application des filtres extraits à la recherche. Le comportement par défaut dépend de la demande. Pour la recherche structurée dans un seul datastore, la valeur par défaut est HARD_FILTER. Pour la recherche multidépôt de données, le comportement par défaut est SOFT_BOOST. Les filtres basés sur la localisation sont toujours appliqués en tant que filtres stricts, et le paramètre SOFT_BOOST n'a aucune incidence sur eux. Ce champ n'est utilisé que si SearchRequest.NaturalLanguageQueryUnderstandingSpec.FilterExtractionCondition est défini sur FilterExtractionCondition.ENABLED.

allowedFieldNames[]

string

Facultatif. Liste d'autorisation des champs pouvant être utilisés pour l'extraction de filtres en langage naturel. Par défaut, si ce paramètre n'est pas spécifié, tous les champs indexables peuvent être utilisés pour l'extraction de filtres en langage naturel (mais leur utilisation n'est pas garantie). Si des champs sont spécifiés dans allowedFieldNames, seuls les champs marqués comme indexables dans le schéma et spécifiés dans la liste d'autorisation pourront faire l'objet d'une extraction de filtres en langage naturel. Remarque : Pour la recherche multidatastore, cette fonctionnalité n'est pas encore disponible et sera ignorée.

FilterExtractionCondition

Énumération décrivant la condition dans laquelle l'extraction du filtre doit avoir lieu.

Enums
CONDITION_UNSPECIFIED Le comportement du serveur est défini par défaut sur DISABLED.
DISABLED Désactive l'extraction des filtres de langage naturel.
ENABLED Active l'extraction des filtres NL.

ExtractedFilterBehavior

Énumération décrivant comment les filtres extraits sont appliqués à la recherche.

Enums
EXTRACTED_FILTER_BEHAVIOR_UNSPECIFIED EXTRACTED_FILTER_BEHAVIOR_UNSPECIFIED utilisera le comportement par défaut pour les filtres extraits. Pour une recherche dans un seul datastore, l'option par défaut consiste à appliquer des filtres stricts. Pour la recherche multidatastore, l'option par défaut consiste à appliquer des boosts modérés.
HARD_FILTER Applique tous les filtres extraits en tant que filtres stricts sur les résultats. Les résultats qui ne respectent pas les filtres extraits ne seront pas renvoyés dans l'ensemble de résultats.
SOFT_BOOST Applique tous les filtres extraits en tant que boosts souples. Les résultats qui passent les filtres seront boostés pour obtenir un rang plus élevé dans l'ensemble de résultats.

SearchAsYouTypeSpec

Spécification pour la recherche pendant la saisie dans les requêtes de recherche.

Représentation JSON
{
  "condition": enum (Condition)
}
Champs
condition

enum (Condition)

Condition dans laquelle la saisie semi-automatique doit se produire. Valeur par défaut : Condition.DISABLED

Condition

Énumération décrivant la condition dans laquelle la recherche pendant la saisie doit avoir lieu.

Enums
CONDITION_UNSPECIFIED Le comportement du serveur est défini par défaut sur Condition.DISABLED.
DISABLED Désactive l'affichage instantané des résultats.
ENABLED Active l'affichage instantané des résultats.
AUTO Permet de basculer automatiquement entre les modes de recherche "saisie semi-automatique" et "recherche standard". Idéal pour les implémentations d'une seule API (par exemple, la suppression des rebonds).

DisplaySpec

Spécifie les fonctionnalités à afficher, comme la mise en surbrillance des correspondances.

Représentation JSON
{
  "matchHighlightingCondition": enum (MatchHighlightingCondition)
}
Champs
matchHighlightingCondition

enum (MatchHighlightingCondition)

Condition dans laquelle la mise en surbrillance des correspondances doit se produire.

MatchHighlightingCondition

Énumération décrivant la condition dans laquelle la mise en surbrillance des correspondances doit se produire.

Enums
MATCH_HIGHLIGHTING_CONDITION_UNSPECIFIED Le comportement du serveur est identique à celui de MATCH_HIGHLIGHTING_DISABLED.
MATCH_HIGHLIGHTING_DISABLED Désactive la mise en surbrillance des correspondances dans tous les documents.
MATCH_HIGHLIGHTING_ENABLED Permet de mettre en surbrillance les correspondances dans tous les documents.

CrowdingSpec

Spécification pour le regroupement. Le regroupement améliore la diversité des résultats de recherche en limitant le nombre de résultats qui partagent la même valeur de champ. Par exemple, le regroupement sur le champ "couleur" avec un maxCount de 3 et un mode DROP_CROWDED_RESULTS renverra au maximum trois résultats avec la même couleur sur toutes les pages.

Représentation JSON
{
  "field": string,
  "maxCount": integer,
  "mode": enum (Mode)
}
Champs
field

string

Champ à utiliser pour le regroupement. Les documents peuvent être regroupés par un champ dans l'objet Document. Le champ de regroupement est sensible à la casse.

maxCount

integer

Nombre maximal de documents à conserver par valeur du champ. Une fois qu'il y a au moins maxCount résultats précédents contenant la même valeur pour le champ donné (selon l'ordre spécifié dans orderBy), les résultats ultérieurs avec la même valeur sont "écartés". Si aucune valeur n'est spécifiée, la valeur par défaut est 1.

mode

enum (Mode)

Mode à utiliser pour les documents qui sont éloignés.

Mode

Énumération décrivant le mode à utiliser pour les documents qui sont écartés. Elles peuvent être supprimées ou reléguées sur les pages suivantes.

Enums
MODE_UNSPECIFIED Mode d'encombrement non spécifié. Dans ce cas, le comportement du serveur est défini par défaut sur Mode.DROP_CROWDED_RESULTS.
DROP_CROWDED_RESULTS Supprimez les résultats regroupés.
DEMOTE_CROWDED_RESULTS_TO_END Reléguer les résultats encombrés sur les pages suivantes.

SessionSpec

Spécification de la session.

Représentation JSON
{
  "queryId": string,
  "searchResultPersistenceCount": integer
}
Champs
queryId

string

Si cette option est définie, le résultat de la recherche est stocké dans le "tour" spécifié par cet ID de requête.

Exemple : Supposons que la session se présente comme suit : session { name: ".../sessions/xxx" turns { query { text: "What is foo?" queryId: ".../questions/yyy" } answer: "Foo is ..." } turns { query { text: "How about bar then?" queryId: ".../questions/zzz" } } }

L'utilisateur peut appeler l'API /search avec une requête comme celle-ci :

session: ".../sessions/xxx" sessionSpec { queryId: ".../questions/zzz" }

L'API stocke ensuite le résultat de la recherche, associé au dernier tour. Le résultat de recherche stocké peut être utilisé par un appel d'API /answer ultérieur (avec l'ID de session et l'ID de requête spécifiés). Il est également possible d'appeler /search et /answer en parallèle avec le même ID de session et ID de requête.

searchResultPersistenceCount

integer

Nombre de meilleurs résultats de recherche à conserver. Les résultats de recherche persistants peuvent être utilisés pour l'appel d'API /answer suivant.

Ce champ est semblable au champ summaryResultCount de SearchRequest.ContentSearchSpec.SummarySpec.summary_result_count.

10 résultats maximum en mode Documents ou 50 en mode Blocs.

RelevanceThreshold

Seuil de pertinence des résultats de recherche. Plus le seuil de pertinence est élevé, plus les résultats pertinents sont affichés et moins de résultats sont renvoyés.

Enums
RELEVANCE_THRESHOLD_UNSPECIFIED Valeur par défaut. Dans ce cas, le comportement du serveur est défini par défaut sur le seuil défini par Google.
LOWEST Seuil de pertinence le plus bas.
LOW Seuil de pertinence faible.
MEDIUM Seuil de pertinence moyen.
HIGH Seuil de pertinence élevé.

RelevanceFilterSpec

Spécification du filtrage par pertinence.

Représentation JSON
{
  "keywordSearchThreshold": {
    object (RelevanceThresholdSpec)
  },
  "semanticSearchThreshold": {
    object (RelevanceThresholdSpec)
  }
}
Champs
keywordSearchThreshold

object (RelevanceThresholdSpec)

Facultatif. Spécification du seuil de filtrage par pertinence pour la recherche par mots clés.

semanticSearchThreshold

object (RelevanceThresholdSpec)

Facultatif. Spécification du seuil de filtrage par pertinence pour la recherche sémantique.

RelevanceThresholdSpec

Spécification du filtrage par pertinence pour une sous-recherche spécifique.

Représentation JSON
{

  // Union field relevance_threshold_spec can be only one of the following:
  "relevanceThreshold": enum (RelevanceThreshold),
  "semanticRelevanceThreshold": number
  // End of list of possible types for union field relevance_threshold_spec.
}
Champs
Champ d'union relevance_threshold_spec. Configure la façon dont le seuil de pertinence est déterminé. relevance_threshold_spec ne peut être qu'un des éléments suivants :
relevanceThreshold

enum (RelevanceThreshold)

Seuil de pertinence prédéfini pour la sous-recherche.

semanticRelevanceThreshold

number

Seuil de pertinence personnalisé pour la sous-recherche. La valeur doit être comprise entre [0,0 et 1,0].

RelevanceScoreSpec

Spécification pour renvoyer le score de pertinence du document.

Représentation JSON
{
  "returnRelevanceScore": boolean
}
Champs
returnRelevanceScore

boolean

Facultatif. Indique s'il faut renvoyer le score de pertinence pour les résultats de recherche. Plus le score est élevé, plus le document est pertinent par rapport à la requête.

SearchAddonSpec

SearchAddonSpec permet de désactiver les modules complémentaires pour la recherche conformément au nouveau modèle de revalorisation. Par défaut, si SearchAddonSpec n'est pas spécifié, nous considérons que le client souhaite les activer partout où cela est possible.

Représentation JSON
{
  "disableSemanticAddOn": boolean,
  "disableKpiPersonalizationAddOn": boolean,
  "disableGenerativeAnswerAddOn": boolean
}
Champs
disableSemanticAddOn

boolean

Facultatif. Si la valeur est "true", le module complémentaire sémantique est désactivé. Le module complémentaire sémantique inclut les embeddings et JetStream.

disableKpiPersonalizationAddOn

boolean

Facultatif. Si la valeur est "true", le re-classement et la personnalisation des événements sont désactivés pour optimiser les KPI et personnaliser les résultats.

disableGenerativeAnswerAddOn

boolean

Facultatif. Si la valeur est "true", le module complémentaire de réponses génératives est désactivé. Le module complémentaire de réponses génératives inclut le langage naturel pour les filtres et les réponses simples.

CustomRankingParams

Paramètres de configuration de la fonctionnalité de classement personnalisé.

Représentation JSON
{
  "expressionsToPrecompute": [
    string
  ]
}
Champs
expressionsToPrecompute[]

string

Facultatif. Liste des expressions de classement à évaluer (consultez rankingExpression pour la documentation sur la syntaxe). Les résultats de l'évaluation seront renvoyés dans le champ SearchResponse.SearchResult.rank_signals.precomputed_expression_values.

QuerySetSpec

Décrit la spécification de l'ensemble de requêtes.

Représentation JSON
{
  "sampleQuerySet": string
}
Champs
sampleQuerySet

string

Facultatif. Nom complet de la ressource SampleQuerySet utilisée pour l'évaluation, au format projects/{project}/locations/{location}/sampleQuerySets/{sampleQuerySet}.

QualityMetrics

Décrit les métriques produites par l'évaluation.

Représentation JSON
{
  "docRecall": {
    object (TopkMetrics)
  },
  "docPrecision": {
    object (TopkMetrics)
  },
  "docNdcg": {
    object (TopkMetrics)
  },
  "pageRecall": {
    object (TopkMetrics)
  },
  "pageNdcg": {
    object (TopkMetrics)
  }
}
Champs
docRecall

object (TopkMetrics)

Rappel par document, à différents niveaux de seuil top-k.

Le rappel correspond à la fraction de documents pertinents récupérés sur l'ensemble des documents pertinents.

Exemple (top 5) : * Pour un seul SampleQuery, si 3 documents pertinents sur 5 sont récupérés dans le top 5, rappel@5 = 3/5 = 0,6

docPrecision

object (TopkMetrics)

Précision par document, à différents niveaux de seuil top-k.

La précision est la fraction des documents récupérés qui sont pertinents.

Exemple (top 5) : * Pour un seul SampleQuery, si 4 documents sur 5 récupérés dans le top 5 sont pertinents, precision@5 = 4/5 = 0,8

docNdcg

object (TopkMetrics)

Bénéfice cumulé réduit normalisé (NDCG) par document, à différents niveaux de seuil top-k.

Le NDCG mesure la qualité du classement, en accordant une plus grande pertinence aux résultats en première position.

Exemple (top 3) : supposons que SampleQuery avec trois documents récupérés (D1, D2, D3) et des jugements de pertinence binaires (1 pour pertinent, 0 pour non pertinent) :

Récupérés : [D3 (0), D1 (1), D2 (1)] Idéal : [D1 (1), D2 (1), D3 (0)]

Calculez NDCG@3 pour chaque SampleQuery : * DCG@3 : 0/log2(1+1) + 1/log2(2+1) + 1/log2(3+1) = 1,13 * DCG@3 idéal : 1/log2(1+1) + 1/log2(2+1) + 0/log2(3+1) = 1,63 * NDCG@3 : 1,13/1,63 = 0,693

pageRecall

object (TopkMetrics)

Rappel par page, à différents niveaux de seuil top-k.

Le rappel correspond à la fraction de pages pertinentes récupérées sur l'ensemble des pages pertinentes.

Exemple (top 5) : * Pour un seul SampleQuery, si 3 pages pertinentes sur 5 sont récupérées dans le top 5, recall@5 = 3/5 = 0,6

pageNdcg

object (TopkMetrics)

Bénéfice cumulé réduit normalisé (NDCG) par page, à différents niveaux de seuil top-k.

Le NDCG mesure la qualité du classement, en accordant une plus grande pertinence aux résultats en première position.

Exemple (top 3) : supposons que SampleQuery comporte trois pages récupérées (P1, P2, P3) et des jugements de pertinence binaires (1 pour pertinent, 0 pour non pertinent) :

Récupéré : [P3 (0), P1 (1), P2 (1)] Idéal : [P1 (1), P2 (1), P3 (0)]

Calculer NDCG@3 pour SampleQuery : * DCG@3 : 0/log2(1+1) + 1/log2(2+1) + 1/log2(3+1) = 1,13 * DCG@3 idéal : 1/log2(1+1) + 1/log2(2+1) + 0/log2(3+1) = 1,63 * NDCG@3 : 1,13/1,63 = 0,693

TopkMetrics

Stocke les valeurs de métrique à des niveaux top-k spécifiques.

Représentation JSON
{
  "top1": number,
  "top3": number,
  "top5": number,
  "top10": number
}
Champs
top1

number

Valeur Top-1.

top3

number

Valeur du top 3.

top5

number

Valeur du top 5.

top10

number

Valeur du top 10.

État

Décrit l'état d'une évaluation.

Enums
STATE_UNSPECIFIED L'évaluation n'est pas spécifiée.
PENDING Le service se prépare à exécuter l'évaluation.
RUNNING L'évaluation est en cours.
SUCCEEDED L'évaluation a bien été effectuée.
FAILED L'évaluation a échoué.

Méthodes

create

Crée un objet Evaluation.

get

Récupère un Evaluation.

list

Obtient une liste de Evaluation.

listResults

Obtient une liste de résultats pour un Evaluation donné.