- HTTP 要求
- 路徑參數
- 要求主體
- 回應主體
- 授權範圍
- IAM 權限
- SchemaKeySortingStrategy
- 選項
- AggregateMethod
- FacetGroup
- FacetBucket
- 範圍
搜尋媒體素材資源。
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
詳情請參閱 身分與存取權管理說明文件。
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 |
切面的顯示名稱。供 UI 用於多面向算繪。 |
buckets[] |
與切面相關聯的值區。例如「Team」(隊伍) 切面的值區可以是 49ers、patriots 等。 |
bucketType |
Facet 值區類型。 |
fetchMatchedAnnotations |
如果為 true,則會傳回與此切面群組所選項目相符的註解查詢。這個選項僅適用於以分區層級註解為依據的切面。支援下列切面值:- INTEGER - STRING (僅限 DataSchema.SearchStrategy.EXACT_SEARCH) |
FacetBucket
保存切面值、選取狀態和中繼資料。
JSON 表示法 |
---|
{ "selected": boolean, // Union field |
欄位 | |
---|---|
selected |
是否已選取一個切面值區。這個欄位代表使用者的面向選取項目。這是前端在 SearchVideosRequest 中設定的值。 |
聯集欄位 bucket_value 。與切面相關的值區。舉例來說,如果「team」是「隊伍」,則可將「49ers」、「patriots」等納入桶中;如果「player」是「球員」,則可將「tom brady」、「drew brees」等納入桶中。bucket_value 只能是下列其中一個: |
|
value |
奇異值。 |
range |
範圍值。 |
範圍
要套用切面的值範圍 ([start, end])。
JSON 表示法 |
---|
{ "start": { object ( |
欄位 | |
---|---|
start |
範圍的起始值。不存在表示某些邊界 (例如 -inf)。 |
end |
範圍結束時間。不存在表示某些邊界 (例如 inf)。 |