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,则字段值可用于动态分面。如果 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,则对于支持设置可完成选项的字段(仅限 string 字段),服务器行为默认为 COMPLETABLE_DISABLED。对于不支持设置可完成选项的字段,服务器将跳过可完成选项设置,并且为这些字段设置 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 字段值类型为 Object。
STRING 字段值类型为 String。
NUMBER 字段值类型为“数字”。
INTEGER 字段值类型为整数。
BOOLEAN 字段值类型为布尔值。
GEOLOCATION

字段值类型为地理定位。地理定位信息以包含以下键的对象表示:

  • id:表示位置 ID 的字符串
  • longitude:表示位置经度坐标的数字
  • latitude:表示位置纬度坐标的数字
  • address:表示位置完整地址的字符串

latitudelongitude 必须始终一起提供。必须至少提供 a) address 或 b) latitude-longitude 对中的一个。

DATETIME

字段值类型为 Datetime。日期时间可以表示为以下任一格式:

  • 表示自纪元以来的毫秒数的数字
  • 表示自纪元开始计算的毫秒数的字符串。例如 "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