1*d5c09012SAndroid Build Coastguard Worker// Copyright 2022 Google LLC 2*d5c09012SAndroid Build Coastguard Worker// 3*d5c09012SAndroid Build Coastguard Worker// Licensed under the Apache License, Version 2.0 (the "License"); 4*d5c09012SAndroid Build Coastguard Worker// you may not use this file except in compliance with the License. 5*d5c09012SAndroid Build Coastguard Worker// You may obtain a copy of the License at 6*d5c09012SAndroid Build Coastguard Worker// 7*d5c09012SAndroid Build Coastguard Worker// http://www.apache.org/licenses/LICENSE-2.0 8*d5c09012SAndroid Build Coastguard Worker// 9*d5c09012SAndroid Build Coastguard Worker// Unless required by applicable law or agreed to in writing, software 10*d5c09012SAndroid Build Coastguard Worker// distributed under the License is distributed on an "AS IS" BASIS, 11*d5c09012SAndroid Build Coastguard Worker// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12*d5c09012SAndroid Build Coastguard Worker// See the License for the specific language governing permissions and 13*d5c09012SAndroid Build Coastguard Worker// limitations under the License. 14*d5c09012SAndroid Build Coastguard Worker 15*d5c09012SAndroid Build Coastguard Workersyntax = "proto3"; 16*d5c09012SAndroid Build Coastguard Worker 17*d5c09012SAndroid Build Coastguard Workerpackage google.cloud.discoveryengine.v1alpha; 18*d5c09012SAndroid Build Coastguard Worker 19*d5c09012SAndroid Build Coastguard Workerimport "google/api/field_behavior.proto"; 20*d5c09012SAndroid Build Coastguard Workerimport "google/api/resource.proto"; 21*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/struct.proto"; 22*d5c09012SAndroid Build Coastguard Worker 23*d5c09012SAndroid Build Coastguard Workeroption csharp_namespace = "Google.Cloud.DiscoveryEngine.V1Alpha"; 24*d5c09012SAndroid Build Coastguard Workeroption go_package = "cloud.google.com/go/discoveryengine/apiv1alpha/discoveryenginepb;discoveryenginepb"; 25*d5c09012SAndroid Build Coastguard Workeroption java_multiple_files = true; 26*d5c09012SAndroid Build Coastguard Workeroption java_outer_classname = "SchemaProto"; 27*d5c09012SAndroid Build Coastguard Workeroption java_package = "com.google.cloud.discoveryengine.v1alpha"; 28*d5c09012SAndroid Build Coastguard Workeroption objc_class_prefix = "DISCOVERYENGINE"; 29*d5c09012SAndroid Build Coastguard Workeroption php_namespace = "Google\\Cloud\\DiscoveryEngine\\V1alpha"; 30*d5c09012SAndroid Build Coastguard Workeroption ruby_package = "Google::Cloud::DiscoveryEngine::V1alpha"; 31*d5c09012SAndroid Build Coastguard Worker 32*d5c09012SAndroid Build Coastguard Worker// Defines the structure and layout of a type of document data. 33*d5c09012SAndroid Build Coastguard Workermessage Schema { 34*d5c09012SAndroid Build Coastguard Worker option (google.api.resource) = { 35*d5c09012SAndroid Build Coastguard Worker type: "discoveryengine.googleapis.com/Schema" 36*d5c09012SAndroid Build Coastguard Worker pattern: "projects/{project}/locations/{location}/dataStores/{data_store}/schemas/{schema}" 37*d5c09012SAndroid Build Coastguard Worker pattern: "projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/schemas/{schema}" 38*d5c09012SAndroid Build Coastguard Worker }; 39*d5c09012SAndroid Build Coastguard Worker 40*d5c09012SAndroid Build Coastguard Worker // Schema representation. One of 41*d5c09012SAndroid Build Coastguard Worker // [struct_schema][google.cloud.discoveryengine.v1alpha.Schema.struct_schema] 42*d5c09012SAndroid Build Coastguard Worker // or [json_schema][google.cloud.discoveryengine.v1alpha.Schema.json_schema] 43*d5c09012SAndroid Build Coastguard Worker // should be provided otherwise an `INVALID_ARGUMENT` error is thrown. 44*d5c09012SAndroid Build Coastguard Worker oneof schema { 45*d5c09012SAndroid Build Coastguard Worker // The structured representation of the schema. 46*d5c09012SAndroid Build Coastguard Worker google.protobuf.Struct struct_schema = 2; 47*d5c09012SAndroid Build Coastguard Worker 48*d5c09012SAndroid Build Coastguard Worker // The JSON representation of the schema. 49*d5c09012SAndroid Build Coastguard Worker string json_schema = 3; 50*d5c09012SAndroid Build Coastguard Worker } 51*d5c09012SAndroid Build Coastguard Worker 52*d5c09012SAndroid Build Coastguard Worker // Immutable. The full resource name of the schema, in the format of 53*d5c09012SAndroid Build Coastguard Worker // `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/schemas/{schema}`. 54*d5c09012SAndroid Build Coastguard Worker // 55*d5c09012SAndroid Build Coastguard Worker // This field must be a UTF-8 encoded string with a length limit of 1024 56*d5c09012SAndroid Build Coastguard Worker // characters. 57*d5c09012SAndroid Build Coastguard Worker string name = 1 [(google.api.field_behavior) = IMMUTABLE]; 58*d5c09012SAndroid Build Coastguard Worker 59*d5c09012SAndroid Build Coastguard Worker // Output only. Configurations for fields of the schema. 60*d5c09012SAndroid Build Coastguard Worker repeated FieldConfig field_configs = 4 61*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 62*d5c09012SAndroid Build Coastguard Worker} 63*d5c09012SAndroid Build Coastguard Worker 64*d5c09012SAndroid Build Coastguard Worker// Configurations for fields of a schema. For example, configuring a field is 65*d5c09012SAndroid Build Coastguard Worker// indexable, or searchable. 66*d5c09012SAndroid Build Coastguard Workermessage FieldConfig { 67*d5c09012SAndroid Build Coastguard Worker // Field value type in the Schema. 68*d5c09012SAndroid Build Coastguard Worker enum FieldType { 69*d5c09012SAndroid Build Coastguard Worker // Field type is unspecified. 70*d5c09012SAndroid Build Coastguard Worker FIELD_TYPE_UNSPECIFIED = 0; 71*d5c09012SAndroid Build Coastguard Worker 72*d5c09012SAndroid Build Coastguard Worker // Field value type is Object. 73*d5c09012SAndroid Build Coastguard Worker OBJECT = 1; 74*d5c09012SAndroid Build Coastguard Worker 75*d5c09012SAndroid Build Coastguard Worker // Field value type is String. 76*d5c09012SAndroid Build Coastguard Worker STRING = 2; 77*d5c09012SAndroid Build Coastguard Worker 78*d5c09012SAndroid Build Coastguard Worker // Field value type is Number. 79*d5c09012SAndroid Build Coastguard Worker NUMBER = 3; 80*d5c09012SAndroid Build Coastguard Worker 81*d5c09012SAndroid Build Coastguard Worker // Field value type is Integer. 82*d5c09012SAndroid Build Coastguard Worker INTEGER = 4; 83*d5c09012SAndroid Build Coastguard Worker 84*d5c09012SAndroid Build Coastguard Worker // Field value type is Boolean. 85*d5c09012SAndroid Build Coastguard Worker BOOLEAN = 5; 86*d5c09012SAndroid Build Coastguard Worker 87*d5c09012SAndroid Build Coastguard Worker // Field value type is Geolocation. 88*d5c09012SAndroid Build Coastguard Worker GEOLOCATION = 6; 89*d5c09012SAndroid Build Coastguard Worker 90*d5c09012SAndroid Build Coastguard Worker // Field value type is Datetime. 91*d5c09012SAndroid Build Coastguard Worker DATETIME = 7; 92*d5c09012SAndroid Build Coastguard Worker } 93*d5c09012SAndroid Build Coastguard Worker 94*d5c09012SAndroid Build Coastguard Worker // The setting of Indexable options in schema. 95*d5c09012SAndroid Build Coastguard Worker enum IndexableOption { 96*d5c09012SAndroid Build Coastguard Worker // Value used when unset. 97*d5c09012SAndroid Build Coastguard Worker INDEXABLE_OPTION_UNSPECIFIED = 0; 98*d5c09012SAndroid Build Coastguard Worker 99*d5c09012SAndroid Build Coastguard Worker // Indexable option enabled for a schema field. 100*d5c09012SAndroid Build Coastguard Worker INDEXABLE_ENABLED = 1; 101*d5c09012SAndroid Build Coastguard Worker 102*d5c09012SAndroid Build Coastguard Worker // Indexable option disabled for a schema field. 103*d5c09012SAndroid Build Coastguard Worker INDEXABLE_DISABLED = 2; 104*d5c09012SAndroid Build Coastguard Worker } 105*d5c09012SAndroid Build Coastguard Worker 106*d5c09012SAndroid Build Coastguard Worker // The status of the dynamic facetable option of a schema field. 107*d5c09012SAndroid Build Coastguard Worker enum DynamicFacetableOption { 108*d5c09012SAndroid Build Coastguard Worker // Value used when unset. 109*d5c09012SAndroid Build Coastguard Worker DYNAMIC_FACETABLE_OPTION_UNSPECIFIED = 0; 110*d5c09012SAndroid Build Coastguard Worker 111*d5c09012SAndroid Build Coastguard Worker // Dynamic facetable option enabled for a schema field. 112*d5c09012SAndroid Build Coastguard Worker DYNAMIC_FACETABLE_ENABLED = 1; 113*d5c09012SAndroid Build Coastguard Worker 114*d5c09012SAndroid Build Coastguard Worker // Dynamic facetable option disabled for a schema field. 115*d5c09012SAndroid Build Coastguard Worker DYNAMIC_FACETABLE_DISABLED = 2; 116*d5c09012SAndroid Build Coastguard Worker } 117*d5c09012SAndroid Build Coastguard Worker 118*d5c09012SAndroid Build Coastguard Worker // The setting of Searchable options in schema. 119*d5c09012SAndroid Build Coastguard Worker enum SearchableOption { 120*d5c09012SAndroid Build Coastguard Worker // Value used when unset. 121*d5c09012SAndroid Build Coastguard Worker SEARCHABLE_OPTION_UNSPECIFIED = 0; 122*d5c09012SAndroid Build Coastguard Worker 123*d5c09012SAndroid Build Coastguard Worker // Searchable option enabled for a schema field. 124*d5c09012SAndroid Build Coastguard Worker SEARCHABLE_ENABLED = 1; 125*d5c09012SAndroid Build Coastguard Worker 126*d5c09012SAndroid Build Coastguard Worker // Searchable option disabled for a schema field. 127*d5c09012SAndroid Build Coastguard Worker SEARCHABLE_DISABLED = 2; 128*d5c09012SAndroid Build Coastguard Worker } 129*d5c09012SAndroid Build Coastguard Worker 130*d5c09012SAndroid Build Coastguard Worker // The setting of Retrievable options in schema. 131*d5c09012SAndroid Build Coastguard Worker enum RetrievableOption { 132*d5c09012SAndroid Build Coastguard Worker // Value used when unset. 133*d5c09012SAndroid Build Coastguard Worker RETRIEVABLE_OPTION_UNSPECIFIED = 0; 134*d5c09012SAndroid Build Coastguard Worker 135*d5c09012SAndroid Build Coastguard Worker // Retrievable option enabled for a schema field. 136*d5c09012SAndroid Build Coastguard Worker RETRIEVABLE_ENABLED = 1; 137*d5c09012SAndroid Build Coastguard Worker 138*d5c09012SAndroid Build Coastguard Worker // Retrievable option disabled for a schema field. 139*d5c09012SAndroid Build Coastguard Worker RETRIEVABLE_DISABLED = 2; 140*d5c09012SAndroid Build Coastguard Worker } 141*d5c09012SAndroid Build Coastguard Worker 142*d5c09012SAndroid Build Coastguard Worker // The setting of Completable options in schema. 143*d5c09012SAndroid Build Coastguard Worker enum CompletableOption { 144*d5c09012SAndroid Build Coastguard Worker // Value used when unset. 145*d5c09012SAndroid Build Coastguard Worker COMPLETABLE_OPTION_UNSPECIFIED = 0; 146*d5c09012SAndroid Build Coastguard Worker 147*d5c09012SAndroid Build Coastguard Worker // Completable option enabled for a schema field. 148*d5c09012SAndroid Build Coastguard Worker COMPLETABLE_ENABLED = 1; 149*d5c09012SAndroid Build Coastguard Worker 150*d5c09012SAndroid Build Coastguard Worker // Completable option disabled for a schema field. 151*d5c09012SAndroid Build Coastguard Worker COMPLETABLE_DISABLED = 2; 152*d5c09012SAndroid Build Coastguard Worker } 153*d5c09012SAndroid Build Coastguard Worker 154*d5c09012SAndroid Build Coastguard Worker // Sets the filterable option for schema fields. 155*d5c09012SAndroid Build Coastguard Worker enum FilterableOption { 156*d5c09012SAndroid Build Coastguard Worker // Value used when unset. 157*d5c09012SAndroid Build Coastguard Worker FILTERABLE_OPTION_UNSPECIFIED = 0; 158*d5c09012SAndroid Build Coastguard Worker 159*d5c09012SAndroid Build Coastguard Worker // Filterable option enabled for a schema field. 160*d5c09012SAndroid Build Coastguard Worker FILTERABLE_ENABLED = 1; 161*d5c09012SAndroid Build Coastguard Worker 162*d5c09012SAndroid Build Coastguard Worker // Filterable option disabled for a schema field. 163*d5c09012SAndroid Build Coastguard Worker FILTERABLE_DISABLED = 2; 164*d5c09012SAndroid Build Coastguard Worker } 165*d5c09012SAndroid Build Coastguard Worker 166*d5c09012SAndroid Build Coastguard Worker // Optional source of the advanced site search field. 167*d5c09012SAndroid Build Coastguard Worker enum AdvancedSiteSearchDataSource { 168*d5c09012SAndroid Build Coastguard Worker // Value used when unset. 169*d5c09012SAndroid Build Coastguard Worker ADVANCED_SITE_SEARCH_DATA_SOURCE_UNSPECIFIED = 0; 170*d5c09012SAndroid Build Coastguard Worker 171*d5c09012SAndroid Build Coastguard Worker // Retrieve value from meta tag. 172*d5c09012SAndroid Build Coastguard Worker METATAGS = 1; 173*d5c09012SAndroid Build Coastguard Worker 174*d5c09012SAndroid Build Coastguard Worker // Retrieve value from page map. 175*d5c09012SAndroid Build Coastguard Worker PAGEMAP = 2; 176*d5c09012SAndroid Build Coastguard Worker } 177*d5c09012SAndroid Build Coastguard Worker 178*d5c09012SAndroid Build Coastguard Worker // Required. Field path of the schema field. 179*d5c09012SAndroid Build Coastguard Worker // For example: `title`, `description`, `release_info.release_year`. 180*d5c09012SAndroid Build Coastguard Worker string field_path = 1 [(google.api.field_behavior) = REQUIRED]; 181*d5c09012SAndroid Build Coastguard Worker 182*d5c09012SAndroid Build Coastguard Worker // Output only. Raw type of the field. 183*d5c09012SAndroid Build Coastguard Worker FieldType field_type = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; 184*d5c09012SAndroid Build Coastguard Worker 185*d5c09012SAndroid Build Coastguard Worker // If 186*d5c09012SAndroid Build Coastguard Worker // [indexable_option][google.cloud.discoveryengine.v1alpha.FieldConfig.indexable_option] 187*d5c09012SAndroid Build Coastguard Worker // is 188*d5c09012SAndroid Build Coastguard Worker // [INDEXABLE_ENABLED][google.cloud.discoveryengine.v1alpha.FieldConfig.IndexableOption.INDEXABLE_ENABLED], 189*d5c09012SAndroid Build Coastguard Worker // field values are indexed so that it can be filtered or faceted in 190*d5c09012SAndroid Build Coastguard Worker // [SearchService.Search][google.cloud.discoveryengine.v1alpha.SearchService.Search]. 191*d5c09012SAndroid Build Coastguard Worker // 192*d5c09012SAndroid Build Coastguard Worker // If 193*d5c09012SAndroid Build Coastguard Worker // [indexable_option][google.cloud.discoveryengine.v1alpha.FieldConfig.indexable_option] 194*d5c09012SAndroid Build Coastguard Worker // is unset, the server behavior defaults to 195*d5c09012SAndroid Build Coastguard Worker // [INDEXABLE_DISABLED][google.cloud.discoveryengine.v1alpha.FieldConfig.IndexableOption.INDEXABLE_DISABLED] 196*d5c09012SAndroid Build Coastguard Worker // for fields that support setting indexable options. For those fields that do 197*d5c09012SAndroid Build Coastguard Worker // not support setting indexable options, such as `object` and `boolean` and 198*d5c09012SAndroid Build Coastguard Worker // key properties, the server will skip 199*d5c09012SAndroid Build Coastguard Worker // [indexable_option][google.cloud.discoveryengine.v1alpha.FieldConfig.indexable_option] 200*d5c09012SAndroid Build Coastguard Worker // setting, and setting 201*d5c09012SAndroid Build Coastguard Worker // [indexable_option][google.cloud.discoveryengine.v1alpha.FieldConfig.indexable_option] 202*d5c09012SAndroid Build Coastguard Worker // for those fields will throw `INVALID_ARGUMENT` error. 203*d5c09012SAndroid Build Coastguard Worker IndexableOption indexable_option = 3; 204*d5c09012SAndroid Build Coastguard Worker 205*d5c09012SAndroid Build Coastguard Worker // If 206*d5c09012SAndroid Build Coastguard Worker // [dynamic_facetable_option][google.cloud.discoveryengine.v1alpha.FieldConfig.dynamic_facetable_option] 207*d5c09012SAndroid Build Coastguard Worker // is 208*d5c09012SAndroid Build Coastguard Worker // [DYNAMIC_FACETABLE_ENABLED][google.cloud.discoveryengine.v1alpha.FieldConfig.DynamicFacetableOption.DYNAMIC_FACETABLE_ENABLED], 209*d5c09012SAndroid Build Coastguard Worker // field values are available for dynamic facet. Could only be 210*d5c09012SAndroid Build Coastguard Worker // [DYNAMIC_FACETABLE_DISABLED][google.cloud.discoveryengine.v1alpha.FieldConfig.DynamicFacetableOption.DYNAMIC_FACETABLE_DISABLED] 211*d5c09012SAndroid Build Coastguard Worker // if 212*d5c09012SAndroid Build Coastguard Worker // [FieldConfig.indexable_option][google.cloud.discoveryengine.v1alpha.FieldConfig.indexable_option] 213*d5c09012SAndroid Build Coastguard Worker // is 214*d5c09012SAndroid Build Coastguard Worker // [INDEXABLE_DISABLED][google.cloud.discoveryengine.v1alpha.FieldConfig.IndexableOption.INDEXABLE_DISABLED]. 215*d5c09012SAndroid Build Coastguard Worker // Otherwise, an `INVALID_ARGUMENT` error will be returned. 216*d5c09012SAndroid Build Coastguard Worker // 217*d5c09012SAndroid Build Coastguard Worker // If 218*d5c09012SAndroid Build Coastguard Worker // [dynamic_facetable_option][google.cloud.discoveryengine.v1alpha.FieldConfig.dynamic_facetable_option] 219*d5c09012SAndroid Build Coastguard Worker // is unset, the server behavior defaults to 220*d5c09012SAndroid Build Coastguard Worker // [DYNAMIC_FACETABLE_DISABLED][google.cloud.discoveryengine.v1alpha.FieldConfig.DynamicFacetableOption.DYNAMIC_FACETABLE_DISABLED] 221*d5c09012SAndroid Build Coastguard Worker // for fields that support setting dynamic facetable options. For those fields 222*d5c09012SAndroid Build Coastguard Worker // that do not support setting dynamic facetable options, such as `object` and 223*d5c09012SAndroid Build Coastguard Worker // `boolean`, the server will skip dynamic facetable option setting, and 224*d5c09012SAndroid Build Coastguard Worker // setting 225*d5c09012SAndroid Build Coastguard Worker // [dynamic_facetable_option][google.cloud.discoveryengine.v1alpha.FieldConfig.dynamic_facetable_option] 226*d5c09012SAndroid Build Coastguard Worker // for those fields will throw `INVALID_ARGUMENT` error. 227*d5c09012SAndroid Build Coastguard Worker DynamicFacetableOption dynamic_facetable_option = 4; 228*d5c09012SAndroid Build Coastguard Worker 229*d5c09012SAndroid Build Coastguard Worker // If 230*d5c09012SAndroid Build Coastguard Worker // [searchable_option][google.cloud.discoveryengine.v1alpha.FieldConfig.searchable_option] 231*d5c09012SAndroid Build Coastguard Worker // is 232*d5c09012SAndroid Build Coastguard Worker // [SEARCHABLE_ENABLED][google.cloud.discoveryengine.v1alpha.FieldConfig.SearchableOption.SEARCHABLE_ENABLED], 233*d5c09012SAndroid Build Coastguard Worker // field values are searchable by text queries in 234*d5c09012SAndroid Build Coastguard Worker // [SearchService.Search][google.cloud.discoveryengine.v1alpha.SearchService.Search]. 235*d5c09012SAndroid Build Coastguard Worker // 236*d5c09012SAndroid Build Coastguard Worker // If 237*d5c09012SAndroid Build Coastguard Worker // [SEARCHABLE_ENABLED][google.cloud.discoveryengine.v1alpha.FieldConfig.SearchableOption.SEARCHABLE_ENABLED] 238*d5c09012SAndroid Build Coastguard Worker // but field type is numerical, field values will not be searchable by text 239*d5c09012SAndroid Build Coastguard Worker // queries in 240*d5c09012SAndroid Build Coastguard Worker // [SearchService.Search][google.cloud.discoveryengine.v1alpha.SearchService.Search], 241*d5c09012SAndroid Build Coastguard Worker // as there are no text values associated to numerical fields. 242*d5c09012SAndroid Build Coastguard Worker // 243*d5c09012SAndroid Build Coastguard Worker // If 244*d5c09012SAndroid Build Coastguard Worker // [searchable_option][google.cloud.discoveryengine.v1alpha.FieldConfig.searchable_option] 245*d5c09012SAndroid Build Coastguard Worker // is unset, the server behavior defaults to 246*d5c09012SAndroid Build Coastguard Worker // [SEARCHABLE_DISABLED][google.cloud.discoveryengine.v1alpha.FieldConfig.SearchableOption.SEARCHABLE_DISABLED] 247*d5c09012SAndroid Build Coastguard Worker // for fields that support setting searchable options. Only `string` fields 248*d5c09012SAndroid Build Coastguard Worker // that have no key property mapping support setting 249*d5c09012SAndroid Build Coastguard Worker // [searchable_option][google.cloud.discoveryengine.v1alpha.FieldConfig.searchable_option]. 250*d5c09012SAndroid Build Coastguard Worker // 251*d5c09012SAndroid Build Coastguard Worker // For those fields that do not support setting searchable options, the server 252*d5c09012SAndroid Build Coastguard Worker // will skip searchable option setting, and setting 253*d5c09012SAndroid Build Coastguard Worker // [searchable_option][google.cloud.discoveryengine.v1alpha.FieldConfig.searchable_option] 254*d5c09012SAndroid Build Coastguard Worker // for those fields will throw `INVALID_ARGUMENT` error. 255*d5c09012SAndroid Build Coastguard Worker SearchableOption searchable_option = 5; 256*d5c09012SAndroid Build Coastguard Worker 257*d5c09012SAndroid Build Coastguard Worker // If 258*d5c09012SAndroid Build Coastguard Worker // [retrievable_option][google.cloud.discoveryengine.v1alpha.FieldConfig.retrievable_option] 259*d5c09012SAndroid Build Coastguard Worker // is 260*d5c09012SAndroid Build Coastguard Worker // [RETRIEVABLE_ENABLED][google.cloud.discoveryengine.v1alpha.FieldConfig.RetrievableOption.RETRIEVABLE_ENABLED], 261*d5c09012SAndroid Build Coastguard Worker // field values are included in the search results. 262*d5c09012SAndroid Build Coastguard Worker // 263*d5c09012SAndroid Build Coastguard Worker // If 264*d5c09012SAndroid Build Coastguard Worker // [retrievable_option][google.cloud.discoveryengine.v1alpha.FieldConfig.retrievable_option] 265*d5c09012SAndroid Build Coastguard Worker // is unset, the server behavior defaults to 266*d5c09012SAndroid Build Coastguard Worker // [RETRIEVABLE_DISABLED][google.cloud.discoveryengine.v1alpha.FieldConfig.RetrievableOption.RETRIEVABLE_DISABLED] 267*d5c09012SAndroid Build Coastguard Worker // for fields that support setting retrievable options. For those fields 268*d5c09012SAndroid Build Coastguard Worker // that do not support setting retrievable options, such as `object` and 269*d5c09012SAndroid Build Coastguard Worker // `boolean`, the server will skip retrievable option setting, and setting 270*d5c09012SAndroid Build Coastguard Worker // [retrievable_option][google.cloud.discoveryengine.v1alpha.FieldConfig.retrievable_option] 271*d5c09012SAndroid Build Coastguard Worker // for those fields will throw `INVALID_ARGUMENT` error. 272*d5c09012SAndroid Build Coastguard Worker RetrievableOption retrievable_option = 6; 273*d5c09012SAndroid Build Coastguard Worker 274*d5c09012SAndroid Build Coastguard Worker // If 275*d5c09012SAndroid Build Coastguard Worker // [completable_option][google.cloud.discoveryengine.v1alpha.FieldConfig.completable_option] 276*d5c09012SAndroid Build Coastguard Worker // is 277*d5c09012SAndroid Build Coastguard Worker // [COMPLETABLE_ENABLED][google.cloud.discoveryengine.v1alpha.FieldConfig.CompletableOption.COMPLETABLE_ENABLED], 278*d5c09012SAndroid Build Coastguard Worker // field values are directly used and returned as suggestions for Autocomplete 279*d5c09012SAndroid Build Coastguard Worker // in 280*d5c09012SAndroid Build Coastguard Worker // [CompletionService.CompleteQuery][google.cloud.discoveryengine.v1alpha.CompletionService.CompleteQuery]. 281*d5c09012SAndroid Build Coastguard Worker // 282*d5c09012SAndroid Build Coastguard Worker // If 283*d5c09012SAndroid Build Coastguard Worker // [completable_option][google.cloud.discoveryengine.v1alpha.FieldConfig.completable_option] 284*d5c09012SAndroid Build Coastguard Worker // is unset, the server behavior defaults to 285*d5c09012SAndroid Build Coastguard Worker // [COMPLETABLE_DISABLED][google.cloud.discoveryengine.v1alpha.FieldConfig.CompletableOption.COMPLETABLE_DISABLED] 286*d5c09012SAndroid Build Coastguard Worker // for fields that support setting completable options, which are just 287*d5c09012SAndroid Build Coastguard Worker // `string` fields. For those fields that do not support setting completable 288*d5c09012SAndroid Build Coastguard Worker // options, the server will skip completable option setting, and setting 289*d5c09012SAndroid Build Coastguard Worker // [completable_option][google.cloud.discoveryengine.v1alpha.FieldConfig.completable_option] 290*d5c09012SAndroid Build Coastguard Worker // for those fields will throw `INVALID_ARGUMENT` error. 291*d5c09012SAndroid Build Coastguard Worker CompletableOption completable_option = 8; 292*d5c09012SAndroid Build Coastguard Worker 293*d5c09012SAndroid Build Coastguard Worker // If 294*d5c09012SAndroid Build Coastguard Worker // [recs_filterable_option][google.cloud.discoveryengine.v1alpha.FieldConfig.recs_filterable_option] 295*d5c09012SAndroid Build Coastguard Worker // is 296*d5c09012SAndroid Build Coastguard Worker // [FILTERABLE_ENABLED][google.cloud.discoveryengine.v1alpha.FieldConfig.FilterableOption.FILTERABLE_ENABLED], 297*d5c09012SAndroid Build Coastguard Worker // field values are filterable by filter expression in 298*d5c09012SAndroid Build Coastguard Worker // [RecommendationService.Recommend][google.cloud.discoveryengine.v1alpha.RecommendationService.Recommend]. 299*d5c09012SAndroid Build Coastguard Worker // 300*d5c09012SAndroid Build Coastguard Worker // If 301*d5c09012SAndroid Build Coastguard Worker // [FILTERABLE_ENABLED][google.cloud.discoveryengine.v1alpha.FieldConfig.FilterableOption.FILTERABLE_ENABLED] 302*d5c09012SAndroid Build Coastguard Worker // but the field type is numerical, field values are not filterable by text 303*d5c09012SAndroid Build Coastguard Worker // queries in 304*d5c09012SAndroid Build Coastguard Worker // [RecommendationService.Recommend][google.cloud.discoveryengine.v1alpha.RecommendationService.Recommend]. 305*d5c09012SAndroid Build Coastguard Worker // Only textual fields are supported. 306*d5c09012SAndroid Build Coastguard Worker // 307*d5c09012SAndroid Build Coastguard Worker // If 308*d5c09012SAndroid Build Coastguard Worker // [recs_filterable_option][google.cloud.discoveryengine.v1alpha.FieldConfig.recs_filterable_option] 309*d5c09012SAndroid Build Coastguard Worker // is unset, the default setting is 310*d5c09012SAndroid Build Coastguard Worker // [FILTERABLE_DISABLED][google.cloud.discoveryengine.v1alpha.FieldConfig.FilterableOption.FILTERABLE_DISABLED] 311*d5c09012SAndroid Build Coastguard Worker // for fields that support setting filterable options. 312*d5c09012SAndroid Build Coastguard Worker // 313*d5c09012SAndroid Build Coastguard Worker // When a field set to [FILTERABLE_DISABLED] is filtered, a warning is 314*d5c09012SAndroid Build Coastguard Worker // generated and an empty result is returned. 315*d5c09012SAndroid Build Coastguard Worker FilterableOption recs_filterable_option = 9; 316*d5c09012SAndroid Build Coastguard Worker 317*d5c09012SAndroid Build Coastguard Worker // Output only. Type of the key property that this field is mapped to. Empty 318*d5c09012SAndroid Build Coastguard Worker // string if this is not annotated as mapped to a key property. 319*d5c09012SAndroid Build Coastguard Worker // 320*d5c09012SAndroid Build Coastguard Worker // Example types are `title`, `description`. Full list is defined 321*d5c09012SAndroid Build Coastguard Worker // by `keyPropertyMapping` in the schema field annotation. 322*d5c09012SAndroid Build Coastguard Worker // 323*d5c09012SAndroid Build Coastguard Worker // If the schema field has a `KeyPropertyMapping` annotation, 324*d5c09012SAndroid Build Coastguard Worker // `indexable_option` and `searchable_option` of this field cannot be 325*d5c09012SAndroid Build Coastguard Worker // modified. 326*d5c09012SAndroid Build Coastguard Worker string key_property_type = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; 327*d5c09012SAndroid Build Coastguard Worker 328*d5c09012SAndroid Build Coastguard Worker // If this field is set, only the corresponding source will be indexed for 329*d5c09012SAndroid Build Coastguard Worker // this field. Otherwise, the values from different sources are merged. 330*d5c09012SAndroid Build Coastguard Worker // 331*d5c09012SAndroid Build Coastguard Worker // Assuming a page with `<author, a>` in meta tag, and `<author, b>` in page 332*d5c09012SAndroid Build Coastguard Worker // map: 333*d5c09012SAndroid Build Coastguard Worker // if this enum is set to METATAGS, we will only index `<author, a>`; 334*d5c09012SAndroid Build Coastguard Worker // if this enum is not set, we will merge them and index `<author, [a, b]>`. 335*d5c09012SAndroid Build Coastguard Worker repeated AdvancedSiteSearchDataSource advanced_site_search_data_sources = 10; 336*d5c09012SAndroid Build Coastguard Worker} 337