REST Resource: projects.locations.collections.dataStores.schemas

資源:結構定義

定義文件資料類型的結構和版面配置。

JSON 表示法
{
  "name": string,
  "fieldConfigs": [
    {
      object (FieldConfig)
    }
  ],

  // Union field schema can be only one of the following:
  "structSchema": {
    object
  },
  "jsonSchema": string
  // End of list of possible types for union field schema.
}
欄位
name

string

不可變動。結構定義的完整資源名稱,格式為 projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}/schemas/{schema}

這個欄位必須是 UTF-8 編碼的字串,長度上限為 1024 個字元。

fieldConfigs[]

object (FieldConfig)

僅供輸出。結構定義欄位的設定。

聯集欄位 schema。結構定義表示方式。請提供 struct_schemajson_schema 其中一個,否則系統會擲回 INVALID_ARGUMENT 錯誤。schema 只能是下列其中一項:
structSchema

object (Struct format)

結構定義的結構化表示法。

jsonSchema

string

結構定義的 JSON 表示法。

FieldConfig

結構定義欄位的設定。例如,設定欄位是否可建立索引或搜尋。

JSON 表示法
{
  "fieldPath": string,
  "fieldType": enum (FieldType),
  "indexableOption": enum (IndexableOption),
  "dynamicFacetableOption": enum (DynamicFacetableOption),
  "searchableOption": enum (SearchableOption),
  "retrievableOption": enum (RetrievableOption),
  "completableOption": enum (CompletableOption),
  "recsFilterableOption": enum (FilterableOption),
  "keyPropertyType": string,
  "advancedSiteSearchDataSources": [
    enum (AdvancedSiteSearchDataSource)
  ],
  "schemaOrgPaths": [
    string
  ],
  "metatagName": string
}
欄位
fieldPath

string

這是必要旗標,結構定義欄位的欄位路徑。例如:titledescriptionrelease_info.release_year

fieldType

enum (FieldType)

僅供輸出。欄位的原始類型。

indexableOption

enum (IndexableOption)

如果 indexableOptionINDEXABLE_ENABLED,系統會將欄位值編入索引,以便在 SearchService.Search 中篩選或分類。

如未設定 indexableOption,伺服器行為預設為 INDEXABLE_DISABLED,適用於支援設定可編列索引選項的欄位。對於不支援設定可編列索引選項的欄位 (例如 objectboolean 和鍵屬性),伺服器會略過 indexableOption 設定,而設定這些欄位的 indexableOption 則會擲回 INVALID_ARGUMENT 錯誤。

dynamicFacetableOption

enum (DynamicFacetableOption)

如果 dynamicFacetableOptionDYNAMIC_FACETABLE_ENABLED,欄位值可用於動態 facet。如果 FieldConfig.indexable_optionINDEXABLE_DISABLED,則只能是 DYNAMIC_FACETABLE_DISABLED。否則,系統會傳回 INVALID_ARGUMENT 錯誤。

如未設定 dynamicFacetableOption,伺服器行為預設為 DYNAMIC_FACETABLE_DISABLED,適用於支援設定動態商情項目選項的欄位。對於不支援設定動態商情項目選項的欄位 (例如 objectboolean),伺服器會略過動態商情項目選項設定,而為這些欄位設定 dynamicFacetableOption 會擲回 INVALID_ARGUMENT 錯誤。

searchableOption

enum (SearchableOption)

如果 searchableOptionSEARCHABLE_ENABLED,則可在 SearchService.Search 中透過文字查詢搜尋欄位值。

如果 SEARCHABLE_ENABLED 但欄位類型為數值,則無法在 SearchService.Search 中透過文字查詢搜尋欄位值,因為數值欄位沒有相關聯的文字值。

如未設定 searchableOption,伺服器行為預設為 SEARCHABLE_DISABLED,適用於支援設定可搜尋選項的欄位。只有沒有索引鍵屬性對應的 string 欄位支援設定 searchableOption

如果欄位不支援設定可搜尋的選項,伺服器會略過可搜尋的選項設定,且為這些欄位設定 searchableOption 會擲回 INVALID_ARGUMENT 錯誤。

retrievableOption

enum (RetrievableOption)

如果 retrievableOptionRETRIEVABLE_ENABLED,搜尋結果會包含欄位值。

如未設定 retrievableOption,伺服器行為會預設為 RETRIEVABLE_DISABLED,適用於支援設定可擷取選項的欄位。對於不支援設定可擷取選項的欄位 (例如 objectboolean),伺服器會略過可擷取選項設定,且為這些欄位設定 retrievableOption 會擲回 INVALID_ARGUMENT 錯誤。

completableOption

enum (CompletableOption)

如果 completableOptionCOMPLETABLE_ENABLED,系統會直接使用欄位值,並在 CompletionService.CompleteQuery 中將這些值做為自動完成建議傳回。

如未設定 completableOption,伺服器行為會預設為 COMPLETABLE_DISABLED,適用於支援設定可完成選項的欄位,也就是 string 欄位。如果欄位不支援設定可完成的選項,伺服器會略過設定可完成的選項,且為這些欄位設定 completableOption 會擲回 INVALID_ARGUMENT 錯誤。

recsFilterableOption

enum (FilterableOption)

如果 recsFilterableOptionFILTERABLE_ENABLED,則欄位值可透過 RecommendationService.Recommend 中的篩選運算式進行篩選。

如果 FILTERABLE_ENABLED 但欄位類型為數值,則無法在 RecommendationService.Recommend 中透過文字查詢篩選欄位值。僅支援文字欄位。

如果未設定 recsFilterableOption,支援設定可篩選選項的欄位預設為 FILTERABLE_DISABLED

如果篩選設為 [FILTERABLE_DISABLED] 的欄位,系統會產生警告並傳回空白結果。

keyPropertyType

string

僅供輸出。這個欄位對應的鍵屬性類型。如果未註解為對應至鍵屬性,則為空字串。

例如 titledescription。完整清單是由結構定義欄位註解中的 keyPropertyMapping 定義。

如果結構定義欄位有 KeyPropertyMapping 註解,就無法修改此欄位的 indexableOptionsearchableOption

advancedSiteSearchDataSources[]

enum (AdvancedSiteSearchDataSource)

如果設定這個欄位,系統只會為這個欄位編列相應來源的索引。否則系統會合併不同來源的值。

假設網頁中繼標記為 <author, a>,網頁地圖為 <author, b>:如果這個列舉設為 METATAGS,我們只會為 <author, a> 建立索引;如果未設定這個列舉,我們會合併兩者並為 <author, [a, b]> 建立索引。

schemaOrgPaths[]

string

用於從 schema.org 資料建立自訂屬性索引的欄位路徑。如要進一步瞭解 schema.org 及其定義的類型,請前往 schema.org

僅用於進階網站搜尋結構定義。

目前僅支援從根目錄開始的完整路徑。欄位的完整路徑是透過串連欄位名稱 (從 _root 開始),並以半形句號 . 做為分隔符號建構而成。範例:

  • 根目錄的發布日期:_root.datePublished
  • 評論的發布日期:_root.review.datePublished
metatagName

string

(選用步驟) HTML 網頁中找到的中繼標記名稱。如果使用者定義這個欄位,系統會使用這個中繼標記名稱的值來擷取中繼標記。如果使用者未定義這個欄位,系統會使用 FieldConfig.field_path 擷取中繼標記。

FieldType

結構定義中的欄位值類型。

列舉
FIELD_TYPE_UNSPECIFIED 未指定欄位類型。
OBJECT 欄位值類型為物件。
STRING 欄位值類型為字串。
NUMBER 欄位值類型為數字。
INTEGER 欄位值類型為整數。
BOOLEAN 欄位值類型為布林值。
GEOLOCATION

欄位值類型為地理位置。地理位置會表示為具有下列鍵的物件:

  • id:代表位置 ID 的字串
  • longitude:代表地點經度座標的數字
  • latitude:代表地點緯度座標的數字
  • address:代表地點完整地址的字串

請務必同時提供 latitudelongitude。請至少提供 a) address 或 b) latitude-longitude 配對。

DATETIME

欄位值類型為 Datetime。日期時間可表示為:

  • 代表自 Epoch 紀元時間起算的毫秒數
  • 代表自 Epoch 紀元時間起算毫秒數的字串,例如 "1420070400001"
  • ISO 8601 格式顯示日期或日期和時間的字串。例如:"2015-01-01""2015-01-01T12:10:30Z"

IndexableOption

結構定義中的「可編入索引」選項設定。

列舉
INDEXABLE_OPTION_UNSPECIFIED 未設定時使用的值。
INDEXABLE_ENABLED 為結構定義欄位啟用可建立索引的選項。
INDEXABLE_DISABLED 結構定義欄位的可建立索引選項已停用。

DynamicFacetableOption

結構定義欄位的動態商情項目選項狀態。

列舉
DYNAMIC_FACETABLE_OPTION_UNSPECIFIED 未設定時使用的值。
DYNAMIC_FACETABLE_ENABLED 為結構定義欄位啟用動態商情項目選項。
DYNAMIC_FACETABLE_DISABLED 結構定義欄位的動態商情項目選項已停用。

SearchableOption

結構定義中的「可搜尋」選項設定。

列舉
SEARCHABLE_OPTION_UNSPECIFIED 未設定時使用的值。
SEARCHABLE_ENABLED 為結構定義欄位啟用可搜尋選項。
SEARCHABLE_DISABLED 結構定義欄位的「可供搜尋」選項已停用。

RetrievableOption

結構定義中的「可擷取」選項設定。

列舉
RETRIEVABLE_OPTION_UNSPECIFIED 未設定時使用的值。
RETRIEVABLE_ENABLED 為結構定義欄位啟用可擷取選項。
RETRIEVABLE_DISABLED 結構定義欄位的可擷取選項已停用。

CompletableOption

在結構定義中設定可完成選項。

列舉
COMPLETABLE_OPTION_UNSPECIFIED 未設定時使用的值。
COMPLETABLE_ENABLED 為結構定義欄位啟用可完成選項。
COMPLETABLE_DISABLED 結構定義欄位已停用可完成選項。

FilterableOption

為結構定義欄位設定可篩選選項。

列舉
FILTERABLE_OPTION_UNSPECIFIED 未設定時使用的值。
FILTERABLE_ENABLED 為結構定義欄位啟用可篩選選項。
FILTERABLE_DISABLED 結構定義欄位的可篩選選項已停用。

AdvancedSiteSearchDataSource

進階網站搜尋欄位的選填來源。

列舉
ADVANCED_SITE_SEARCH_DATA_SOURCE_UNSPECIFIED 未設定時使用的值。
METATAGS 從中繼標記擷取值。
PAGEMAP 從網頁地圖擷取值。
URI_PATTERN_MAPPING SiteSearchEngineService.SetUriPatternDocumentData API 設定的屬性中擷取值。
SCHEMA_ORG 從 schema.org 資料擷取值。

方法

create

建立 Schema

delete

刪除 Schema

get

取得 Schema

list

取得 Schema 清單。

patch

更新 Schema