Method: projects.locations.corpora.searchAssets

Pesquisar recurso de mídia.

Solicitação HTTP

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

O URL usa a sintaxe de transcodificação gRPC.

Parâmetros de caminho

Parâmetros
corpus

string

Obrigatório. O corpus pai a ser pesquisado. Formato: "projects/{projectId}/locations/{locationId}/corpora/{corpus_id}"

Corpo da solicitação

O corpo da solicitação contém dados com a seguinte estrutura:

Representação 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.
}
Campos
pageSize

integer

O número de resultados que serão retornados nesta página. Se for 0, o servidor vai decidir o tamanho da página apropriado.

pageToken

string

O token de continuação para buscar a próxima página. Se estiver vazio, significa que ele está recuperando a primeira página.

contentTimeRanges

object (DateTimeRangeArray)

Intervalos de tempo em que o conteúdo do vídeo correspondente precisa estar. Se nenhum intervalo for fornecido, não haverá restrição de tempo. Esse campo é tratado da mesma forma que os critérios abaixo, mas é definido separadamente para sua conveniência, já que é usado com frequência. Se o endTime estiver no futuro, ele será fixado no momento em que a solicitação foi recebida.

criteria[]

object (Criteria)

Critérios aplicados aos resultados da pesquisa.

exclusionCriteria[]

object (Criteria)

Critérios a serem excluídos dos resultados da pesquisa. fetchMatchedAnnotations será ignorado.

facetSelections[]

object (FacetGroup)

Armazena o estado de seleção de faceta mais recente. Somente os grupos de facetas com a seleção do usuário serão apresentados aqui. O estado de seleção é selecionado ou não selecionado. Somente os buckets de facetas selecionados serão usados como critérios de pesquisa.

resultAnnotationKeys[]

string

Uma lista de chaves de anotação para especificar as anotações a serem recuperadas e retornadas com cada resultado da pesquisa. A granularidade da anotação precisa ser GRANULARITY_ASSET_LEVEL, e a estratégia de pesquisa não pode ser NO_SEARCH.

searchQuery

string

Consulta de pesquisa global. Permite que o usuário pesquise recursos sem precisar especificar a qual campo o valor pertence.

Campo de união sort_spec. Especificação de classificação. Se esse campo não for especificado, o padrão será: - STREAM_VIDEO: os resultados da pesquisa são classificados pelo horário de início. sort_spec pode ser apenas de um dos tipos a seguir:
schemaKeySortingStrategy

object (SchemaKeySortingStrategy)

Ordene pelo valor na chave do esquema de dados.

Corpo da resposta

Mensagem de resposta para corpora.searchAssets.

Se bem-sucedido, o corpo da resposta incluirá dados com a estrutura a seguir:

Representação JSON
{
  "searchResultItems": [
    {
      object (SearchResultItem)
    }
  ],
  "nextPageToken": string,
  "facetResults": [
    {
      object (FacetGroup)
    }
  ]
}
Campos
searchResultItems[]

object (SearchResultItem)

Resultados da pesquisa retornados.

nextPageToken

string

O token de continuação da próxima página.

facetResults[]

object (FacetGroup)

Resultados da pesquisa de atributos de uma determinada consulta, que contém os valores de atributo já selecionados do usuário e os resultados da pesquisa de atributos atualizados.

Escopos de autorização

Requer o seguinte escopo OAuth:

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

Para saber mais, consulte a Visão geral da autenticação.

Permissões do IAM

Requer a seguinte permissão do IAM no recurso corpus:

  • visionai.assets.search

Para mais informações, consulte a documentação do IAM.

SchemaKeySortingStrategy

Uma estratégia para especificar como classificar por chave de esquema de dados.

Representação JSON
{
  "options": [
    {
      object (Option)
    }
  ]
}
Campos
options[]

object (Option)

As opções na frente têm prioridade maior do que as de trás.

Opção

Opção para uma chave de esquema de dados.

Representação JSON
{
  "dataSchemaKey": string,
  "sortDecreasing": boolean,
  "aggregateMethod": enum (AggregateMethod)
}
Campos
dataSchemaKey

string

Os dados usados para classificar.

sortDecreasing

boolean

Indica se a classificação será em ordem decrescente ou crescente. Por padrão, os resultados são classificados em ordem crescente.

aggregateMethod

enum (AggregateMethod)

Método de agregação para a chave do esquema de dados atual.

AggregateMethod

Quando um resultado tem vários valores com a mesma chave, especifique qual valor é usado para classificar. Por padrão, AGGREGATE_METHOD_LARGEST é usado quando os resultados são classificados em ordem decrescente, e AGGREGATE_METHOD_SMALLEST é usado quando os resultados são classificados em ordem crescente.

Enums
AGGREGATE_METHOD_UNSPECIFIED O método agregado não especificado será substituído, conforme mencionado acima.
AGGREGATE_METHOD_LARGEST Seleciona o valor mais alto (lexicográfico ou numérico) para classificar.
AGGREGATE_METHOD_SMALLEST Seleciona o menor valor (lexicográfico ou numérico) para classificar.

FacetGroup

Um grupo de buckets de facetas que são transmitidos de um lado para o outro entre o back-end e o front-end.

Representação JSON
{
  "facetId": string,
  "displayName": string,
  "buckets": [
    {
      object (FacetBucket)
    }
  ],
  "bucketType": enum (FacetBucketType),
  "fetchMatchedAnnotations": boolean
}
Campos
facetId

string

ID exclusivo do grupo de facetas.

displayName

string

Nome de exibição do atributo. Para ser usado pela interface para renderização de facetas.

buckets[]

object (FacetBucket)

Buckets associados ao atributo. Por exemplo, para a faceta "Equipe", o contêiner pode ser 49ers, Patriots etc.

bucketType

enum (FacetBucketType)

Tipo de bucket de faceta.

fetchMatchedAnnotations

boolean

Se verdadeiro, retorna anotações de correspondência de consulta para a seleção desse grupo de facetas. Essa opção só é aplicável a facetas com base em anotações no nível da partição. Ele aceita os seguintes valores de faceta: - INTEGER - STRING (somente DataSchema.SearchStrategy.EXACT_SEARCH)

FacetBucket

Armazena o valor da faceta, o estado das seleções e os metadados.

Representação 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.
}
Campos
selected

boolean

Indica se um bucket de faceta está selecionado. Esse campo representa a seleção de facetas do usuário. Ele é definido pelo front-end em SearchVideosRequest.

Campo de união bucket_value. Intervalo associado a um atributo. Por exemplo, o bucket da faceta "team" pode ser "49ers", "patriots" etc. O bucket da faceta "player" pode ser "tom brady", "drew brees" etc. bucket_value pode ser apenas uma das seguintes opções:
value

object (FacetValue)

Valor singular.

range

object (Range)

Valor do intervalo.

Intervalo

O intervalo de valores [início, fim] em que a segmentação é aplicada.

Representação JSON
{
  "start": {
    object (FacetValue)
  },
  "end": {
    object (FacetValue)
  }
}
Campos
start

object (FacetValue)

Início do intervalo. A inexistência indica algum limite (por exemplo, -inf).

end

object (FacetValue)

Fim do intervalo. A não existência indica algum limite (por exemplo, inf).