Method: projects.locations.corpora.searchAssets

Rechercher un élément multimédia

Requête HTTP

POST https://visionai.googleapis.com/v1alpha1/{corpus=projects/*/locations/*/corpora/*}:searchAssets

L'URL utilise la syntaxe de transcodage gRPC.

Paramètres de chemin d'accès

Paramètres
corpus

string

Obligatoire. Corpus parent à rechercher. Format : "projects/{projectId}/locations/{locationId}/corpora/{corpus_id}"

Corps de la requête

Le corps de la requête contient des données présentant la structure suivante :

Représentation JSON
{
  "pageSize": integer,
  "pageToken": string,
  "contentTimeRanges": {
    object (DateTimeRangeArray)
  },
  "criteria": [
    {
      object (Criteria)
    }
  ],
  "exclusionCriteria": [
    {
      object (Criteria)
    }
  ],
  "facetSelections": [
    {
      object (FacetGroup)
    }
  ],
  "resultAnnotationKeys": [
    string
  ],
  "searchQuery": string,

  // Union field sort_spec can be only one of the following:
  "schemaKeySortingStrategy": {
    object (SchemaKeySortingStrategy)
  }
  // End of list of possible types for union field sort_spec.
}
Champs
pageSize

integer

Nombre de résultats à renvoyer sur cette page. Si la valeur est 0, le serveur détermine la valeur de pageSize appropriée.

pageToken

string

Jeton de continuation permettant d'extraire la page suivante. Si la valeur est vide, cela signifie que la première page est récupérée.

contentTimeRanges

object (DateTimeRangeArray)

Intervalles de temps dans lesquels le contenu vidéo correspondant doit se trouver. Si aucune période n'est indiquée, aucune restriction temporelle ne s'applique. Ce champ est traité comme les critères ci-dessous, mais est défini séparément pour plus de commodité, car il est utilisé fréquemment. Notez que si la date de fin est dans le futur, elle sera limitée à la date de réception de la requête.

criteria[]

object (Criteria)

Critères appliqués aux résultats de recherche.

exclusionCriteria[]

object (Criteria)

Critères à exclure des résultats de recherche. Notez que fetchMatchedAnnotations sera ignoré.

facetSelections[]

object (FacetGroup)

Stocke l'état de sélection des facettes le plus récent. Seuls les groupes de facettes sélectionnés par l'utilisateur sont affichés ici. L'état de sélection est sélectionné ou non. Seuls les buckets d'attributs sélectionnés seront utilisés comme critères de recherche.

resultAnnotationKeys[]

string

Liste des clés d'annotation permettant de spécifier les annotations à récupérer et à renvoyer avec chaque résultat de recherche. La précision des annotations doit être GRANULARITY_ASSET_LEVEL, et sa stratégie de recherche ne doit pas être NO_SEARCH.

searchQuery

string

Requête de recherche globale. Permet à l'utilisateur de rechercher des composants sans avoir à spécifier le champ auquel la valeur appartient.

Champ d'union sort_spec. Spécification de tri. Si ce champ n'est pas spécifié, la valeur par défaut est la suivante: - STREAM_VIDEO: les résultats de recherche sont triés par heure de début. sort_spec ne peut être qu'un des éléments suivants :
schemaKeySortingStrategy

object (SchemaKeySortingStrategy)

Triez en fonction de la valeur sous la clé du schéma de données.

Corps de la réponse

Message de réponse pour corpora.searchAssets.

Si la requête aboutit, le corps de la réponse contient des données qui ont la structure suivante :

Représentation JSON
{
  "searchResultItems": [
    {
      object (SearchResultItem)
    }
  ],
  "nextPageToken": string,
  "facetResults": [
    {
      object (FacetGroup)
    }
  ]
}
Champs
searchResultItems[]

object (SearchResultItem)

Résultats de recherche renvoyés.

nextPageToken

string

Jeton de continuation de la page suivante.

facetResults[]

object (FacetGroup)

Résultats de recherche par attribut d'une requête donnée, qui contiennent les valeurs d'attribut déjà sélectionnées par l'utilisateur et les résultats de recherche par attribut mis à jour.

Champs d'application des autorisations

Requiert le niveau d'accès OAuth suivant :

  • https://www.googleapis.com/auth/cloud-platform

Pour en savoir plus, consultez la page Présentation de l'authentification.

Autorisations IAM

Nécessite l'autorisation IAM suivante sur la ressource corpus :

  • visionai.assets.search

Pour en savoir plus, consultez la documentation IAM.

SchemaKeySortingStrategy

Stratégie permettant de spécifier comment trier par clé de schéma de données.

Représentation JSON
{
  "options": [
    {
      object (Option)
    }
  ]
}
Champs
options[]

object (Option)

Les options à l'avant ont une priorité plus élevée que celles à l'arrière.

Option

Possibilité d'utiliser une seule clé de schéma de données.

Représentation JSON
{
  "dataSchemaKey": string,
  "sortDecreasing": boolean,
  "aggregateMethod": enum (AggregateMethod)
}
Champs
dataSchemaKey

string

Données utilisées pour le tri.

sortDecreasing

boolean

Indique si le tri doit être effectué par ordre décroissant ou croissant. Par défaut, les résultats sont triés dans l'ordre croissant.

aggregateMethod

enum (AggregateMethod)

Méthode d'agrégation pour la clé de schéma de données actuelle.

AggregateMethod

Lorsqu'un résultat comporte plusieurs valeurs avec la même clé, spécifiez la valeur utilisée pour le tri. Par défaut, AGGREGATE_METHOD_LARGEST est utilisé lorsque les résultats sont triés par ordre décroissant, et AGGREGATE_METHOD_SMALLEST lorsque les résultats sont triés par ordre croissant.

Enums
AGGREGATE_METHOD_UNSPECIFIED La méthode d'agrégation non spécifiée sera écrasée, comme indiqué ci-dessus.
AGGREGATE_METHOD_LARGEST Prendre la valeur la plus élevée (lexicographique ou numérique) à trier.
AGGREGATE_METHOD_SMALLEST Prend la valeur la plus petite (lexicographique ou numérique) à trier.

FacetGroup

Groupe de buckets de facettes à transmettre entre le backend et le frontend.

Représentation JSON
{
  "facetId": string,
  "displayName": string,
  "buckets": [
    {
      object (FacetBucket)
    }
  ],
  "bucketType": enum (FacetBucketType),
  "fetchMatchedAnnotations": boolean
}
Champs
facetId

string

ID unique du groupe de facettes.

displayName

string

Nom à afficher de l'attribut. À utiliser par l'UI pour l'affichage des facettes.

buckets[]

object (FacetBucket)

Buckets associés à l'attribut. Par exemple, pour la facette "Équipe", le bucket peut être "49ers", "Patriots", etc.

bucketType

enum (FacetBucketType)

Type de bucket d'attribut.

fetchMatchedAnnotations

boolean

Si la valeur est "true", renvoie les annotations correspondant à la requête pour la sélection de ce groupe de facettes. Cette option ne s'applique qu'aux facettes basées sur des annotations au niveau de la partition. Il accepte les valeurs de facette suivantes: - INTEGER - STRING (DataSchema.SearchStrategy.EXACT_SEARCH uniquement)

FacetBucket

Contient la valeur de l'attribut, l'état des sélections et les métadonnées.

Représentation JSON
{
  "selected": boolean,

  // Union field bucket_value can be only one of the following:
  "value": {
    object (FacetValue)
  },
  "range": {
    object (Range)
  }
  // End of list of possible types for union field bucket_value.
}
Champs
selected

boolean

Indique si un bucket de facettes est sélectionné. Ce champ représente la sélection de facettes de l'utilisateur. Il est défini par l'interface dans SearchVideosRequest.

Champ d'union bucket_value. Bucket associé à un attribut. Par exemple, le bucket du facet "équipe" peut être "49ers", "patriots", etc. Le bucket du facet "joueur" peut être "tom brady", "drew brees", etc. bucket_value ne peut être que l'un des éléments suivants:
value

object (FacetValue)

Valeur propre.

range

object (Range)

Valeur de la plage.

Plage

Plage de valeurs [start, end] pour laquelle la segmentation est appliquée.

Représentation JSON
{
  "start": {
    object (FacetValue)
  },
  "end": {
    object (FacetValue)
  }
}
Champs
start

object (FacetValue)

Début de la plage. L'absence d'existence indique une limite (par exemple, -inf).

end

object (FacetValue)

Fin de la plage. L'absence d'existence indique une limite (par exemple, inf).