Method: projects.locations.corpora.searchAssets

搜索媒体资产。

HTTP 请求

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

网址采用 gRPC 转码语法。

路径参数

参数
corpus

string

必需。要搜索的父语料库。格式:`projects/{projectId}/locations/{locationId}/corpora/{corpus_id}'

请求正文

请求正文中包含结构如下的数据:

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.
}
字段
pageSize

integer

此页面中返回的结果数。如果为 0,则服务器将决定适当的 pageSize。

pageToken

string

用于提取下一页的接续令牌。如果为空,则表示正在提取第一页。

contentTimeRanges

object (DateTimeRangeArray)

匹配的视频内容必须位于的时间范围。如果未提供任何范围,则表示没有时间限制。此字段的处理方式与以下条件相同,但由于此字段使用频率较高,因此单独进行了定义。请注意,如果 endTime 在未来,则会被限制为收到请求的时间。

criteria[]

object (Criteria)

应用于搜索结果的条件。

exclusionCriteria[]

object (Criteria)

要从搜索结果中排除的条件。请注意,系统会忽略 fetchMatchedAnnotations

facetSelections[]

object (FacetGroup)

存储最近的细分选择状态。此处仅会显示包含用户所选内容的细分组。选择状态为“已选择”或“未选择”。只有所选的分面分桶才会用作搜索条件。

resultAnnotationKeys[]

string

注释键列表,用于指定要检索并随每个搜索结果一起返回的注释。注释精细程度必须为 GRANULARITY_ASSET_LEVEL,且其搜索策略不得为 NO_SEARCH。

searchQuery

string

全球搜索查询。允许用户搜索素材资源,而无需指定值属于哪个字段。

联合字段 sort_spec。排序规范。如果未指定此字段,则默认:- STREAM_VIDEO:搜索结果按开始时间排序。sort_spec 只能是下列其中一项:
schemaKeySortingStrategy

object (SchemaKeySortingStrategy)

按数据架构键下的值进行排序。

响应正文

corpora.searchAssets 的响应消息。

如果成功,响应正文将包含结构如下的数据:

JSON 表示法
{
  "searchResultItems": [
    {
      object (SearchResultItem)
    }
  ],
  "nextPageToken": string,
  "facetResults": [
    {
      object (FacetGroup)
    }
  ]
}
字段
searchResultItems[]

object (SearchResultItem)

返回的搜索结果。

nextPageToken

string

下一页的接续令牌。

facetResults[]

object (FacetGroup)

给定查询的构面搜索结果,其中包含用户已选择的构面值和更新后的构面搜索结果。

授权范围

需要以下 OAuth 范围:

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

如需了解详情,请参阅身份验证概览

IAM 权限

需要拥有 corpus 资源的以下 IAM 权限:

  • visionai.assets.search

如需了解详情,请参阅 IAM 文档

SchemaKeySortingStrategy

用于指定如何按数据架构键进行排序的策略。

JSON 表示法
{
  "options": [
    {
      object (Option)
    }
  ]
}
字段
options[]

object (Option)

前面的选项的优先级高于后面的选项。

选项

用于一个数据架构键的选项。

JSON 表示法
{
  "dataSchemaKey": string,
  "sortDecreasing": boolean,
  "aggregateMethod": enum (AggregateMethod)
}
字段
dataSchemaKey

string

用于排序的数据。

sortDecreasing

boolean

是按降序还是升序排序。默认情况下,结果会按升序排列。

aggregateMethod

enum (AggregateMethod)

当前数据架构键的汇总方法。

AggregateMethod

如果一个结果具有多个具有相同键的值,请指定要用于排序的值。默认情况下,如果结果按降序排序,则使用 AGGREGATE_METHOD_LARGEST;如果结果按升序排序,则使用 AGGREGATE_METHOD_SMALLEST。

枚举
AGGREGATE_METHOD_UNSPECIFIED 未指定的汇总方法将被覆盖,如上所述。
AGGREGATE_METHOD_LARGEST 取最大(字典顺序或数值)值进行排序。
AGGREGATE_METHOD_SMALLEST 取最小(字典顺序或数字)值进行排序。

FacetGroup

一组要在后端和前端之间来回传递的细分桶。

JSON 表示法
{
  "facetId": string,
  "displayName": string,
  "buckets": [
    {
      object (FacetBucket)
    }
  ],
  "bucketType": enum (FacetBucketType),
  "fetchMatchedAnnotations": boolean
}
字段
facetId

string

细分组的唯一 ID。

displayName

string

Facet 的显示名称。供界面用于分面呈现。

buckets[]

object (FacetBucket)

与该分面关联的存储分区。例如,对于“球队”细分,存储分区可以是“49ers”“patriots”等。

bucketType

enum (FacetBucketType)

分面分桶类型。

fetchMatchedAnnotations

boolean

如果为 true,则返回与此分面组的选择项匹配的注释。此选项仅适用于基于分区级注释的切面。它支持以下细分值:- INTEGER - STRING(仅限 DataSchema.SearchStrategy.EXACT_SEARCH)

FacetBucket

用于存储细分值、选择状态和元数据。

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.
}
字段
selected

boolean

是否选择了一个细分维度存储分区。此字段表示用户选择的细分条件。它由前端在 SearchVideosRequest 中设置。

联合字段 bucket_value。与分面关联的分桶。例如,“球队”细分维度的分桶可以是“49ers”“patriots”等;“球员”细分维度的分桶可以是“tom brady”“drew brees”等。bucket_value 只能是以下之一:
value

object (FacetValue)

奇异值。

range

object (Range)

范围值。

范围

要应用分面的值范围 [start, end)。

JSON 表示法
{
  "start": {
    object (FacetValue)
  },
  "end": {
    object (FacetValue)
  }
}
字段
start

object (FacetValue)

范围的起始值。不存在表示某个边界(例如 -inf)。

end

object (FacetValue)

范围的结束值。不存在表示某个边界(例如 inf)。