xref: /aosp_15_r20/external/googleapis/google/cloud/discoveryengine/v1alpha/schema.proto (revision d5c09012810ac0c9f33fe448fb6da8260d444cc9)
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