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

리소스: Schema

문서 데이터 유형의 구조와 레이아웃을 정의합니다.

JSON 표현
{
  "name": string,
  "fieldConfigs": [
    {
      object (FieldConfig)
    }
  ],

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "structSchema": {
    object
  },
  "jsonSchema": string
  // End of mutually exclusive fields.
}
필드
name

string

변경할 수 없습니다. 스키마의 전체 리소스 이름입니다(projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}/schemas/{schema} 형식).

이 필드는 UTF-8로 인코딩된 문자열이어야 하며 길이는 1,024자(영문 기준)로 제한됩니다.

fieldConfigs[]

object (FieldConfig)

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

스키마 표현입니다. struct_schema 또는 json_schema 중 하나를 제공해야 합니다. 그렇지 않으면 INVALID_ARGUMENT 오류가 발생합니다. 다음은 상호 배타적인 필드 목록입니다. 응답에는 다음 필드 중 최대 하나가 설정됩니다.
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,
  "searchableFieldImportance": enum (SearchableFieldImportance)
}
필드
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로 설정됩니다. 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

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

예시 유형은 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가 메타 태그를 추출하는 데 사용됩니다.

searchableFieldImportance

enum (SearchableFieldImportance)

선택사항입니다. searchableOptionSEARCHABLE_ENABLED인 경우 필드의 중요도를 지정합니다.

searchableOptionSEARCHABLE_DISABLED이면 이 필드는 무시됩니다.

searchableOptionSEARCHABLE_ENABLED이고 이것이 SEARCHABLE_FIELD_IMPORTANCE_UNSPECIFIED라면, 이것은 DEFAULT_IMPORTANCE처럼 동작합니다.

자세한 내용은 가중치 검색 가능 필드를 참고하세요.

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 데이터에서 값을 가져옵니다.

SearchableFieldImportance

검색에서 해당 필드의 중요도를 지정합니다. 이 열거형에 새 값이 추가되지 않습니다.

열거형
SEARCHABLE_FIELD_IMPORTANCE_UNSPECIFIED 설정되지 않으면 사용되는 값입니다. 필드를 검색할 수 있는 경우 DEFAULT_IMPORTANCE처럼 동작합니다.
VERY_LOW_IMPORTANCE 검색을 위한 작은 신호를 제공합니다.
LOW_IMPORTANCE 해당 필드가 검색에 사용되지만 기본값보다 중요도가 낮음을 나타냅니다.
DEFAULT_IMPORTANCE 기본 중요도. 이전 동작과 동일합니다.
HIGH_IMPORTANCE 기본 필드보다 중요합니다.
VERY_HIGH_IMPORTANCE 검색에 가장 중요한 필드입니다.

메서드

create

Schema를 만듭니다.

delete

Schema를 삭제합니다.

get

Schema을 가져옵니다.

list

Schema 목록을 가져옵니다.

patch

Schema를 업데이트합니다.