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로 인코딩된 문자열이어야 하며 길이 제한은 1,024자(영문 기준)입니다.

fieldConfigs[]

object (FieldConfig)

출력 전용입니다. 스키마 필드의 구성입니다.

통합 필드 schema. 스키마 표현입니다. struct_schema 또는 json_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

필수 항목입니다. 스키마 필드의 필드 경로입니다. 예: title, description, release_info.release_year

fieldType

enum (FieldType)

출력 전용입니다. 필드의 원시 유형입니다.

indexableOption

enum (IndexableOption)

indexableOptionINDEXABLE_ENABLED이면 SearchService.Search에서 필터링하거나 패싯할 수 있도록 필드 값에 색인이 생성됩니다.

indexableOption이 설정되지 않은 경우 서버 동작은 색인 생성 옵션 설정을 지원하는 필드에 대해 기본적으로 INDEXABLE_DISABLED로 설정됩니다. object, boolean, 키 속성과 같이 색인 생성 가능한 옵션 설정을 지원하지 않는 필드의 경우 서버에서 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로 설정됩니다. object, boolean과 같이 검색 가능한 옵션 설정을 지원하지 않는 필드의 경우 서버에서 검색 가능한 옵션 설정을 건너뛰며 이러한 필드에 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

출력 전용입니다. 이 필드가 매핑된 키 속성의 유형입니다. 키 속성에 매핑된 것으로 주석 처리되지 않은 경우 빈 문자열입니다.

예시 유형은 title, description입니다. 전체 목록은 스키마 필드 주석의 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입니다. 날짜 및 시간은 다음 중 하나로 표현할 수 있습니다.

  • 에포크 이후 경과된 시간을 밀리초로 나타내는 숫자
  • 에포크 이후 경과된 시간을 밀리초로 나타내는 문자열입니다(예: "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을 업데이트합니다.