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

詳情請參閱 身分與存取權管理說明文件

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

切面的顯示名稱。供 UI 用於多面向算繪。

buckets[]

object (FacetBucket)

與切面相關聯的值區。例如「Team」(隊伍) 切面的值區可以是 49ers、patriots 等。

bucketType

enum (FacetBucketType)

Facet 值區類型。

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。與切面相關的值區。舉例來說,如果「team」是「隊伍」,則可將「49ers」、「patriots」等納入桶中;如果「player」是「球員」,則可將「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)。