- HTTP 请求
- 路径参数
- 请求正文
- 响应正文
- 授权范围
- IAM 权限
- SchemaKeySortingStrategy
- 选项
- AggregateMethod
- FacetGroup
- FacetBucket
- Range
搜索媒体资产。
HTTP 请求
POST https://visionai.googleapis.com/v1/{corpus=projects/*/locations/*/corpora/*}:searchAssets
网址采用 gRPC 转码语法。
路径参数
参数 | |
---|---|
corpus |
必需。要搜索的父语料库。格式:`projects/{projectId}/locations/{locationId}/corpora/{corpus_id}' |
请求正文
请求正文中包含结构如下的数据:
JSON 表示法 |
---|
{ "pageSize": integer, "pageToken": string, "contentTimeRanges": { object ( |
字段 | |
---|---|
pageSize |
此页面中返回的结果数。如果为 0,则服务器将决定适当的 pageSize。 |
pageToken |
用于提取下一页的接续令牌。如果为空,则表示正在提取第一页。 |
contentTimeRanges |
匹配的视频内容必须位于的时间范围。如果未提供任何范围,则表示没有时间限制。此字段的处理方式与以下条件相同,但由于此字段使用频率较高,因此单独进行了定义。请注意,如果 endTime 在未来,则会被限制为收到请求的时间。 |
criteria[] |
应用于搜索结果的条件。 |
exclusionCriteria[] |
要从搜索结果中排除的条件。请注意,系统会忽略 |
facetSelections[] |
存储最近的细分选择状态。此处仅会显示包含用户所选内容的细分组。选择状态为“已选择”或“未选择”。只有所选的分面分桶才会用作搜索条件。 |
resultAnnotationKeys[] |
注释键列表,用于指定要检索并随每个搜索结果一起返回的注释。注释精细程度必须为 GRANULARITY_ASSET_LEVEL,且其搜索策略不得为 NO_SEARCH。 |
searchQuery |
全球搜索查询。允许用户搜索素材资源,而无需指定值属于哪个字段。 |
联合字段 sort_spec 。排序规范。如果未指定此字段,则默认:- STREAM_VIDEO:搜索结果按开始时间排序。sort_spec 只能是下列其中一项: |
|
schemaKeySortingStrategy |
按数据架构键下的值进行排序。 |
响应正文
corpora.searchAssets 的响应消息。
如果成功,响应正文将包含结构如下的数据:
JSON 表示法 |
---|
{ "searchResultItems": [ { object ( |
字段 | |
---|---|
searchResultItems[] |
返回的搜索结果。 |
nextPageToken |
下一页的接续令牌。 |
facetResults[] |
给定查询的构面搜索结果,其中包含用户已选择的构面值和更新后的构面搜索结果。 |
授权范围
需要以下 OAuth 范围:
https://www.googleapis.com/auth/cloud-platform
如需了解详情,请参阅身份验证概览。
IAM 权限
需要拥有 corpus
资源的以下 IAM 权限:
visionai.assets.search
如需了解详情,请参阅 IAM 文档。
SchemaKeySortingStrategy
用于指定如何按数据架构键进行排序的策略。
JSON 表示法 |
---|
{
"options": [
{
object ( |
字段 | |
---|---|
options[] |
前面的选项的优先级高于后面的选项。 |
选项
用于一个数据架构键的选项。
JSON 表示法 |
---|
{
"dataSchemaKey": string,
"sortDecreasing": boolean,
"aggregateMethod": enum ( |
字段 | |
---|---|
dataSchemaKey |
用于排序的数据。 |
sortDecreasing |
是按降序还是升序排序。默认情况下,结果会按升序排列。 |
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 ( |
字段 | |
---|---|
facetId |
细分组的唯一 ID。 |
displayName |
Facet 的显示名称。供界面用于分面呈现。 |
buckets[] |
与该分面关联的存储分区。例如,对于“球队”细分,存储分区可以是“49ers”“patriots”等。 |
bucketType |
分面分桶类型。 |
fetchMatchedAnnotations |
如果为 true,则返回与此分面组的选择项匹配的注释。此选项仅适用于基于分区级注释的切面。它支持以下细分值:- INTEGER - STRING(仅限 DataSchema.SearchStrategy.EXACT_SEARCH) |
FacetBucket
用于存储细分值、选择状态和元数据。
JSON 表示法 |
---|
{ "selected": boolean, // Union field |
字段 | |
---|---|
selected |
是否选择了一个细分维度存储分区。此字段表示用户选择的细分条件。它由前端在 SearchVideosRequest 中设置。 |
联合字段 bucket_value 。与分面关联的分桶。例如,“球队”细分维度的分桶可以是“49ers”“patriots”等;“球员”细分维度的分桶可以是“tom brady”“drew brees”等。bucket_value 只能是以下之一: |
|
value |
奇异值。 |
range |
范围值。 |
范围
要应用分面的值范围 [start, end)。
JSON 表示法 |
---|
{ "start": { object ( |
字段 | |
---|---|
start |
范围的起始值。不存在表示某个边界(例如 -inf)。 |
end |
范围的结束值。不存在表示某个边界(例如 inf)。 |