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

リソース: Schema

ドキュメント データの種類の構造とレイアウトを定義します。

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} 形式)。

このフィールドは、長さの上限が 1,024 文字の UTF-8 でエンコードされた文字列にする必要があります。

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

必須。スキーマ フィールドのフィールド パス。例: 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 の Autocomplete の候補として返されます。

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 フィールド値の型は文字列です。
NUMBER フィールド値の型は Number です。
INTEGER フィールド値の型は整数です。
BOOLEAN フィールド値の型はブール値です。
GEOLOCATION

フィールド値の型は Geolocation です。位置情報は、次のキーを持つオブジェクトとして表されます。

  • id: ロケーション ID を表す文字列
  • longitude: 位置の経度座標を表す数値
  • latitude: 位置の緯度座標を表す数値
  • address: 場所の完全な住所を表す文字列

latitudelongitude は常に一緒に指定する必要があります。a) address または b) latitude-longitude ペアの少なくとも 1 つを指定する必要があります。

DATETIME

フィールド値の型は Datetime です。日時は次のいずれかで表すことができます。

  • エポックからのミリ秒数を表す数値
  • エポックからのミリ秒数を表す文字列。例: "1420070400001"
  • ISO 8601 の日付または日時を表す文字列。例: "2015-01-01" または "2015-01-01T12:10:30Z"

IndexableOption

スキーマの Indexable オプションの設定。

列挙型
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 オプションの設定。

列挙型
RETRIEVABLE_OPTION_UNSPECIFIED 設定されていない場合に使用される値。
RETRIEVABLE_ENABLED スキーマ フィールドで取得可能なオプションが有効になっています。
RETRIEVABLE_DISABLED スキーマ フィールドで取得可能オプションが無効になっています。

CompletableOption

スキーマの Completable オプションの設定。

列挙型
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 を更新します。