@google-cloud/discoveryengine 1.3.1 → 1.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (119) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/README.md +51 -0
  3. package/build/protos/google/cloud/discoveryengine/v1/common.proto +54 -3
  4. package/build/protos/google/cloud/discoveryengine/v1/completion.proto +52 -0
  5. package/build/protos/google/cloud/discoveryengine/v1/completion_service.proto +51 -4
  6. package/build/protos/google/cloud/discoveryengine/v1/conversation.proto +3 -0
  7. package/build/protos/google/cloud/discoveryengine/v1/conversational_search_service.proto +40 -1
  8. package/build/protos/google/cloud/discoveryengine/v1/data_store.proto +98 -0
  9. package/build/protos/google/cloud/discoveryengine/v1/data_store_service.proto +304 -0
  10. package/build/protos/google/cloud/discoveryengine/v1/document.proto +1 -1
  11. package/build/protos/google/cloud/discoveryengine/v1/engine.proto +215 -0
  12. package/build/protos/google/cloud/discoveryengine/v1/engine_service.proto +242 -0
  13. package/build/protos/google/cloud/discoveryengine/v1/import_config.proto +64 -0
  14. package/build/protos/google/cloud/discoveryengine/v1/purge_config.proto +38 -0
  15. package/build/protos/google/cloud/discoveryengine/v1/search_service.proto +137 -4
  16. package/build/protos/google/cloud/discoveryengine/v1/site_search_engine.proto +170 -0
  17. package/build/protos/google/cloud/discoveryengine/v1/site_search_engine_service.proto +691 -0
  18. package/build/protos/google/cloud/discoveryengine/v1/user_event.proto +3 -3
  19. package/build/protos/google/cloud/discoveryengine/v1beta/common.proto +59 -8
  20. package/build/protos/google/cloud/discoveryengine/v1beta/completion.proto +52 -0
  21. package/build/protos/google/cloud/discoveryengine/v1beta/completion_service.proto +51 -4
  22. package/build/protos/google/cloud/discoveryengine/v1beta/conversation.proto +3 -0
  23. package/build/protos/google/cloud/discoveryengine/v1beta/conversational_search_service.proto +40 -1
  24. package/build/protos/google/cloud/discoveryengine/v1beta/data_store.proto +98 -0
  25. package/build/protos/google/cloud/discoveryengine/v1beta/data_store_service.proto +306 -0
  26. package/build/protos/google/cloud/discoveryengine/v1beta/document.proto +1 -1
  27. package/build/protos/google/cloud/discoveryengine/v1beta/engine.proto +220 -0
  28. package/build/protos/google/cloud/discoveryengine/v1beta/engine_service.proto +244 -0
  29. package/build/protos/google/cloud/discoveryengine/v1beta/import_config.proto +64 -0
  30. package/build/protos/google/cloud/discoveryengine/v1beta/purge_config.proto +38 -0
  31. package/build/protos/google/cloud/discoveryengine/v1beta/recommendation_service.proto +26 -3
  32. package/build/protos/google/cloud/discoveryengine/v1beta/search_service.proto +150 -11
  33. package/build/protos/google/cloud/discoveryengine/v1beta/serving_config.proto +264 -0
  34. package/build/protos/google/cloud/discoveryengine/v1beta/serving_config_service.proto +147 -0
  35. package/build/protos/google/cloud/discoveryengine/v1beta/site_search_engine.proto +170 -0
  36. package/build/protos/google/cloud/discoveryengine/v1beta/site_search_engine_service.proto +695 -0
  37. package/build/protos/google/cloud/discoveryengine/v1beta/user_event.proto +4 -3
  38. package/build/protos/protos.d.ts +41157 -23655
  39. package/build/protos/protos.js +103188 -62466
  40. package/build/protos/protos.json +10400 -6075
  41. package/build/src/index.d.ts +10 -1
  42. package/build/src/index.js +10 -1
  43. package/build/src/v1/completion_service_client.d.ts +489 -7
  44. package/build/src/v1/completion_service_client.js +715 -11
  45. package/build/src/v1/completion_service_client_config.json +10 -0
  46. package/build/src/v1/conversational_search_service_client.d.ts +341 -3
  47. package/build/src/v1/conversational_search_service_client.js +466 -9
  48. package/build/src/v1/data_store_service_client.d.ts +1286 -0
  49. package/build/src/v1/data_store_service_client.js +1768 -0
  50. package/build/src/v1/data_store_service_client_config.json +46 -0
  51. package/build/src/v1/document_service_client.d.ts +347 -2
  52. package/build/src/v1/document_service_client.js +506 -9
  53. package/build/src/v1/engine_service_client.d.ts +1211 -0
  54. package/build/src/v1/engine_service_client.js +1731 -0
  55. package/build/src/v1/engine_service_client_config.json +46 -0
  56. package/build/src/v1/index.d.ts +3 -0
  57. package/build/src/v1/index.js +7 -1
  58. package/build/src/v1/schema_service_client.d.ts +272 -2
  59. package/build/src/v1/schema_service_client.js +402 -9
  60. package/build/src/v1/search_service_client.d.ts +515 -11
  61. package/build/src/v1/search_service_client.js +648 -15
  62. package/build/src/v1/site_search_engine_service_client.d.ts +1564 -0
  63. package/build/src/v1/site_search_engine_service_client.js +2075 -0
  64. package/build/src/v1/site_search_engine_service_client_config.json +74 -0
  65. package/build/src/v1/user_event_service_client.d.ts +272 -2
  66. package/build/src/v1/user_event_service_client.js +402 -9
  67. package/build/src/v1alpha/completion_service_client.d.ts +11 -2
  68. package/build/src/v1alpha/completion_service_client.js +37 -10
  69. package/build/src/v1alpha/conversational_search_service_client.d.ts +11 -2
  70. package/build/src/v1alpha/conversational_search_service_client.js +37 -10
  71. package/build/src/v1alpha/data_store_service_client.d.ts +11 -2
  72. package/build/src/v1alpha/data_store_service_client.js +37 -10
  73. package/build/src/v1alpha/document_service_client.d.ts +11 -2
  74. package/build/src/v1alpha/document_service_client.js +37 -10
  75. package/build/src/v1alpha/engine_service_client.d.ts +11 -2
  76. package/build/src/v1alpha/engine_service_client.js +37 -10
  77. package/build/src/v1alpha/index.js +1 -1
  78. package/build/src/v1alpha/recommendation_service_client.d.ts +11 -2
  79. package/build/src/v1alpha/recommendation_service_client.js +37 -10
  80. package/build/src/v1alpha/schema_service_client.d.ts +11 -2
  81. package/build/src/v1alpha/schema_service_client.js +37 -10
  82. package/build/src/v1alpha/search_service_client.d.ts +11 -2
  83. package/build/src/v1alpha/search_service_client.js +37 -10
  84. package/build/src/v1alpha/search_tuning_service_client.d.ts +11 -2
  85. package/build/src/v1alpha/search_tuning_service_client.js +37 -10
  86. package/build/src/v1alpha/site_search_engine_service_client.d.ts +11 -2
  87. package/build/src/v1alpha/site_search_engine_service_client.js +37 -10
  88. package/build/src/v1alpha/user_event_service_client.d.ts +11 -2
  89. package/build/src/v1alpha/user_event_service_client.js +37 -10
  90. package/build/src/v1beta/completion_service_client.d.ts +633 -7
  91. package/build/src/v1beta/completion_service_client.js +911 -11
  92. package/build/src/v1beta/completion_service_client_config.json +10 -0
  93. package/build/src/v1beta/conversational_search_service_client.d.ts +341 -3
  94. package/build/src/v1beta/conversational_search_service_client.js +466 -9
  95. package/build/src/v1beta/data_store_service_client.d.ts +1433 -0
  96. package/build/src/v1beta/data_store_service_client.js +1966 -0
  97. package/build/src/v1beta/data_store_service_client_config.json +46 -0
  98. package/build/src/v1beta/document_service_client.d.ts +491 -2
  99. package/build/src/v1beta/document_service_client.js +706 -11
  100. package/build/src/v1beta/engine_service_client.d.ts +1357 -0
  101. package/build/src/v1beta/engine_service_client.js +1928 -0
  102. package/build/src/v1beta/engine_service_client_config.json +46 -0
  103. package/build/src/v1beta/index.d.ts +4 -0
  104. package/build/src/v1beta/index.js +9 -1
  105. package/build/src/v1beta/recommendation_service_client.d.ts +420 -5
  106. package/build/src/v1beta/recommendation_service_client.js +570 -9
  107. package/build/src/v1beta/schema_service_client.d.ts +416 -2
  108. package/build/src/v1beta/schema_service_client.js +602 -11
  109. package/build/src/v1beta/search_service_client.d.ts +539 -29
  110. package/build/src/v1beta/search_service_client.js +664 -27
  111. package/build/src/v1beta/serving_config_service_client.d.ts +1102 -0
  112. package/build/src/v1beta/serving_config_service_client.js +1563 -0
  113. package/build/src/v1beta/serving_config_service_client_config.json +38 -0
  114. package/build/src/v1beta/site_search_engine_service_client.d.ts +1712 -0
  115. package/build/src/v1beta/site_search_engine_service_client.js +2271 -0
  116. package/build/src/v1beta/site_search_engine_service_client_config.json +74 -0
  117. package/build/src/v1beta/user_event_service_client.d.ts +416 -2
  118. package/build/src/v1beta/user_event_service_client.js +602 -11
  119. package/package.json +2 -2
@@ -0,0 +1,264 @@
1
+ // Copyright 2022 Google LLC
2
+ //
3
+ // Licensed under the Apache License, Version 2.0 (the "License");
4
+ // you may not use this file except in compliance with the License.
5
+ // You may obtain a copy of the License at
6
+ //
7
+ // http://www.apache.org/licenses/LICENSE-2.0
8
+ //
9
+ // Unless required by applicable law or agreed to in writing, software
10
+ // distributed under the License is distributed on an "AS IS" BASIS,
11
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ // See the License for the specific language governing permissions and
13
+ // limitations under the License.
14
+
15
+ syntax = "proto3";
16
+
17
+ package google.cloud.discoveryengine.v1beta;
18
+
19
+ import "google/api/field_behavior.proto";
20
+ import "google/api/resource.proto";
21
+ import "google/cloud/discoveryengine/v1beta/common.proto";
22
+ import "google/cloud/discoveryengine/v1beta/search_service.proto";
23
+ import "google/protobuf/timestamp.proto";
24
+
25
+ option csharp_namespace = "Google.Cloud.DiscoveryEngine.V1Beta";
26
+ option go_package = "cloud.google.com/go/discoveryengine/apiv1beta/discoveryenginepb;discoveryenginepb";
27
+ option java_multiple_files = true;
28
+ option java_outer_classname = "ServingConfigProto";
29
+ option java_package = "com.google.cloud.discoveryengine.v1beta";
30
+ option objc_class_prefix = "DISCOVERYENGINE";
31
+ option php_namespace = "Google\\Cloud\\DiscoveryEngine\\V1beta";
32
+ option ruby_package = "Google::Cloud::DiscoveryEngine::V1beta";
33
+
34
+ // Configures metadata that is used to generate serving time results (e.g.
35
+ // search results or recommendation predictions).
36
+ // The ServingConfig is passed in the search and predict request and generates
37
+ // results.
38
+ message ServingConfig {
39
+ option (google.api.resource) = {
40
+ type: "discoveryengine.googleapis.com/ServingConfig"
41
+ pattern: "projects/{project}/locations/{location}/dataStores/{data_store}/servingConfigs/{serving_config}"
42
+ pattern: "projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/servingConfigs/{serving_config}"
43
+ pattern: "projects/{project}/locations/{location}/collections/{collection}/engines/{engine}/servingConfigs/{serving_config}"
44
+ };
45
+
46
+ // Specifies the configurations needed for Media Discovery. Currently we
47
+ // support:
48
+ //
49
+ // * `demote_content_watched`: Threshold for watched content demotion.
50
+ // Customers can specify if using watched content demotion or use viewed
51
+ // detail page. Using the content watched demotion, customers need to specify
52
+ // the watched minutes or percentage exceeds the threshold, the content will
53
+ // be demoted in the recommendation result.
54
+ // * `promote_fresh_content`: cutoff days for fresh content promotion.
55
+ // Customers can specify if using content freshness promotion. If the content
56
+ // was published within the cutoff days, the content will be promoted in the
57
+ // recommendation result.
58
+ // Can only be set if
59
+ // [SolutionType][google.cloud.discoveryengine.v1beta.SolutionType] is
60
+ // [SOLUTION_TYPE_RECOMMENDATION][google.cloud.discoveryengine.v1beta.SolutionType.SOLUTION_TYPE_RECOMMENDATION].
61
+ message MediaConfig {
62
+ // Specify the threshold for demoting watched content, the threshold can be
63
+ // either percentage or minutes value.
64
+ // This must be set for `media-complete` event type.
65
+ oneof demote_content_watched {
66
+ // Specifies the content watched percentage threshold for demotion.
67
+ // Threshold value must be between [0, 1.0] inclusive.
68
+ float content_watched_percentage_threshold = 2;
69
+
70
+ // Specifies the content watched minutes threshold for demotion.
71
+ float content_watched_seconds_threshold = 5;
72
+ }
73
+
74
+ // Specifies the event type used for demoting recommendation result.
75
+ // Currently supported values:
76
+ //
77
+ // * `view-item`: Item viewed.
78
+ // * `media-play`: Start/resume watching a video, playing a song, etc.
79
+ // * `media-complete`: Finished or stopped midway through a video, song,
80
+ // etc.
81
+ //
82
+ // If unset, watch history demotion will not be applied. Content freshness
83
+ // demotion will still be applied.
84
+ string demotion_event_type = 1;
85
+
86
+ // Specifies the content freshness used for recommendation result.
87
+ // Contents will be demoted if contents were published for more than content
88
+ // freshness cutoff days.
89
+ int32 content_freshness_cutoff_days = 4;
90
+ }
91
+
92
+ // Specifies the configurations needed for Generic Discovery.Currently we
93
+ // support:
94
+ //
95
+ // * `content_search_spec`: configuration for generic content search.
96
+ message GenericConfig {
97
+ // Specifies the expected behavior of content search.
98
+ // Only valid for content-search enabled data store.
99
+ SearchRequest.ContentSearchSpec content_search_spec = 1;
100
+ }
101
+
102
+ // Industry vertical specific config.
103
+ oneof vertical_config {
104
+ // The MediaConfig of the serving configuration.
105
+ MediaConfig media_config = 7;
106
+
107
+ // The GenericConfig of the serving configuration.
108
+ GenericConfig generic_config = 10;
109
+ }
110
+
111
+ // Immutable. Fully qualified name
112
+ // `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}/servingConfigs/{serving_config_id}`
113
+ string name = 1 [(google.api.field_behavior) = IMMUTABLE];
114
+
115
+ // Required. The human readable serving config display name. Used in Discovery
116
+ // UI.
117
+ //
118
+ // This field must be a UTF-8 encoded string with a length limit of 128
119
+ // characters. Otherwise, an INVALID_ARGUMENT error is returned.
120
+ string display_name = 2 [(google.api.field_behavior) = REQUIRED];
121
+
122
+ // Required. Immutable. Specifies the solution type that a serving config can
123
+ // be associated with.
124
+ SolutionType solution_type = 3 [
125
+ (google.api.field_behavior) = REQUIRED,
126
+ (google.api.field_behavior) = IMMUTABLE
127
+ ];
128
+
129
+ // The id of the model to use at serving time.
130
+ // Currently only RecommendationModels are supported.
131
+ // Can be changed but only to a compatible model (e.g.
132
+ // others-you-may-like CTR to others-you-may-like CVR).
133
+ //
134
+ // Required when
135
+ // [SolutionType][google.cloud.discoveryengine.v1beta.SolutionType] is
136
+ // [SOLUTION_TYPE_RECOMMENDATION][google.cloud.discoveryengine.v1beta.SolutionType.SOLUTION_TYPE_RECOMMENDATION].
137
+ string model_id = 4;
138
+
139
+ // How much diversity to use in recommendation model results e.g.
140
+ // `medium-diversity` or `high-diversity`. Currently supported values:
141
+ //
142
+ // * `no-diversity`
143
+ // * `low-diversity`
144
+ // * `medium-diversity`
145
+ // * `high-diversity`
146
+ // * `auto-diversity`
147
+ //
148
+ // If not specified, we choose default based on recommendation model
149
+ // type. Default value: `no-diversity`.
150
+ //
151
+ // Can only be set if
152
+ // [SolutionType][google.cloud.discoveryengine.v1beta.SolutionType] is
153
+ // [SOLUTION_TYPE_RECOMMENDATION][google.cloud.discoveryengine.v1beta.SolutionType.SOLUTION_TYPE_RECOMMENDATION].
154
+ string diversity_level = 5;
155
+
156
+ // Bring your own embedding config. The config is used for search semantic
157
+ // retrieval. The retrieval is based on the dot product of
158
+ // [SearchRequest.EmbeddingSpec.EmbeddingVector.vector][google.cloud.discoveryengine.v1beta.SearchRequest.EmbeddingSpec.EmbeddingVector.vector]
159
+ // and the document embeddings that are provided by this EmbeddingConfig. If
160
+ // [SearchRequest.EmbeddingSpec.EmbeddingVector.vector][google.cloud.discoveryengine.v1beta.SearchRequest.EmbeddingSpec.EmbeddingVector.vector]
161
+ // is provided, it overrides this
162
+ // [ServingConfig.embedding_config][google.cloud.discoveryengine.v1beta.ServingConfig.embedding_config].
163
+ EmbeddingConfig embedding_config = 20;
164
+
165
+ // The ranking expression controls the customized ranking on retrieval
166
+ // documents. To leverage this, document embedding is required. The ranking
167
+ // expression setting in ServingConfig applies to all search requests served
168
+ // by the serving config. However, if [SearchRequest.ranking_expression][] is
169
+ // specified, it overrides the ServingConfig ranking expression.
170
+ //
171
+ // The ranking expression is a single function or multiple functions that are
172
+ // joined by "+".
173
+ // * ranking_expression = function, { " + ", function };
174
+ // Supported functions:
175
+ // * double * relevance_score
176
+ // * double * dotProduct(embedding_field_path)
177
+ // Function variables:
178
+ // relevance_score: pre-defined keywords, used for measure relevance between
179
+ // query and document.
180
+ // embedding_field_path: the document embedding field
181
+ // used with query embedding vector.
182
+ // dotProduct: embedding function between embedding_field_path and query
183
+ // embedding vector.
184
+ //
185
+ // Example ranking expression:
186
+ // If document has an embedding field doc_embedding, the ranking expression
187
+ // could be 0.5 * relevance_score + 0.3 * dotProduct(doc_embedding).
188
+ string ranking_expression = 21;
189
+
190
+ // Output only. ServingConfig created timestamp.
191
+ google.protobuf.Timestamp create_time = 8
192
+ [(google.api.field_behavior) = OUTPUT_ONLY];
193
+
194
+ // Output only. ServingConfig updated timestamp.
195
+ google.protobuf.Timestamp update_time = 9
196
+ [(google.api.field_behavior) = OUTPUT_ONLY];
197
+
198
+ // Filter controls to use in serving path.
199
+ // All triggered filter controls will be applied.
200
+ // Filter controls must be in the same data store as the serving config.
201
+ // Maximum of 20 filter controls.
202
+ repeated string filter_control_ids = 11;
203
+
204
+ // Boost controls to use in serving path.
205
+ // All triggered boost controls will be applied.
206
+ // Boost controls must be in the same data store as the serving config.
207
+ // Maximum of 20 boost controls.
208
+ repeated string boost_control_ids = 12;
209
+
210
+ // IDs of the redirect controls. Only the first triggered redirect
211
+ // action is applied, even if multiple apply. Maximum number of
212
+ // specifications is 100.
213
+ //
214
+ // Can only be set if
215
+ // [SolutionType][google.cloud.discoveryengine.v1beta.SolutionType] is
216
+ // [SOLUTION_TYPE_SEARCH][google.cloud.discoveryengine.v1beta.SolutionType.SOLUTION_TYPE_SEARCH].
217
+ repeated string redirect_control_ids = 14;
218
+
219
+ // Condition synonyms specifications. If multiple synonyms conditions
220
+ // match, all matching synonyms controls in the list will execute.
221
+ // Maximum number of specifications is 100.
222
+ //
223
+ // Can only be set if
224
+ // [SolutionType][google.cloud.discoveryengine.v1beta.SolutionType] is
225
+ // [SOLUTION_TYPE_SEARCH][google.cloud.discoveryengine.v1beta.SolutionType.SOLUTION_TYPE_SEARCH].
226
+ repeated string synonyms_control_ids = 15;
227
+
228
+ // Condition oneway synonyms specifications. If multiple oneway synonyms
229
+ // conditions match, all matching oneway synonyms controls in the list
230
+ // will execute. Maximum number of specifications is 100.
231
+ //
232
+ // Can only be set if
233
+ // [SolutionType][google.cloud.discoveryengine.v1beta.SolutionType] is
234
+ // [SOLUTION_TYPE_SEARCH][google.cloud.discoveryengine.v1beta.SolutionType.SOLUTION_TYPE_SEARCH].
235
+ repeated string oneway_synonyms_control_ids = 16;
236
+
237
+ // Condition do not associate specifications. If multiple do not
238
+ // associate conditions match, all matching do not associate controls in
239
+ // the list will execute.
240
+ // Order does not matter.
241
+ // Maximum number of specifications is 100.
242
+ //
243
+ // Can only be set if
244
+ // [SolutionType][google.cloud.discoveryengine.v1beta.SolutionType] is
245
+ // [SOLUTION_TYPE_SEARCH][google.cloud.discoveryengine.v1beta.SolutionType.SOLUTION_TYPE_SEARCH].
246
+ repeated string dissociate_control_ids = 17;
247
+
248
+ // Condition replacement specifications.
249
+ // Applied according to the order in the list.
250
+ // A previously replaced term can not be re-replaced.
251
+ // Maximum number of specifications is 100.
252
+ //
253
+ // Can only be set if
254
+ // [SolutionType][google.cloud.discoveryengine.v1beta.SolutionType] is
255
+ // [SOLUTION_TYPE_SEARCH][google.cloud.discoveryengine.v1beta.SolutionType.SOLUTION_TYPE_SEARCH].
256
+ repeated string replacement_control_ids = 18;
257
+
258
+ // Condition ignore specifications. If multiple ignore
259
+ // conditions match, all matching ignore controls in the list will
260
+ // execute.
261
+ // Order does not matter.
262
+ // Maximum number of specifications is 100.
263
+ repeated string ignore_control_ids = 19;
264
+ }
@@ -0,0 +1,147 @@
1
+ // Copyright 2022 Google LLC
2
+ //
3
+ // Licensed under the Apache License, Version 2.0 (the "License");
4
+ // you may not use this file except in compliance with the License.
5
+ // You may obtain a copy of the License at
6
+ //
7
+ // http://www.apache.org/licenses/LICENSE-2.0
8
+ //
9
+ // Unless required by applicable law or agreed to in writing, software
10
+ // distributed under the License is distributed on an "AS IS" BASIS,
11
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ // See the License for the specific language governing permissions and
13
+ // limitations under the License.
14
+
15
+ syntax = "proto3";
16
+
17
+ package google.cloud.discoveryengine.v1beta;
18
+
19
+ import "google/api/annotations.proto";
20
+ import "google/api/client.proto";
21
+ import "google/api/field_behavior.proto";
22
+ import "google/api/resource.proto";
23
+ import "google/cloud/discoveryengine/v1beta/serving_config.proto";
24
+ import "google/protobuf/field_mask.proto";
25
+
26
+ option csharp_namespace = "Google.Cloud.DiscoveryEngine.V1Beta";
27
+ option go_package = "cloud.google.com/go/discoveryengine/apiv1beta/discoveryenginepb;discoveryenginepb";
28
+ option java_multiple_files = true;
29
+ option java_outer_classname = "ServingConfigServiceProto";
30
+ option java_package = "com.google.cloud.discoveryengine.v1beta";
31
+ option objc_class_prefix = "DISCOVERYENGINE";
32
+ option php_namespace = "Google\\Cloud\\DiscoveryEngine\\V1beta";
33
+ option ruby_package = "Google::Cloud::DiscoveryEngine::V1beta";
34
+
35
+ // Service for modifying ServingConfig.
36
+ service ServingConfigService {
37
+ option (google.api.default_host) = "discoveryengine.googleapis.com";
38
+ option (google.api.oauth_scopes) =
39
+ "https://www.googleapis.com/auth/cloud-platform";
40
+
41
+ // Updates a ServingConfig.
42
+ //
43
+ // Returns a NOT_FOUND error if the ServingConfig does not exist.
44
+ rpc UpdateServingConfig(UpdateServingConfigRequest) returns (ServingConfig) {
45
+ option (google.api.http) = {
46
+ patch: "/v1beta/{serving_config.name=projects/*/locations/*/dataStores/*/servingConfigs/*}"
47
+ body: "serving_config"
48
+ additional_bindings {
49
+ patch: "/v1beta/{serving_config.name=projects/*/locations/*/collections/*/dataStores/*/servingConfigs/*}"
50
+ body: "serving_config"
51
+ }
52
+ additional_bindings {
53
+ patch: "/v1beta/{serving_config.name=projects/*/locations/*/collections/*/engines/*/servingConfigs/*}"
54
+ body: "serving_config"
55
+ }
56
+ };
57
+ option (google.api.method_signature) = "serving_config,update_mask";
58
+ }
59
+
60
+ // Gets a ServingConfig.
61
+ //
62
+ // Returns a NotFound error if the ServingConfig does not exist.
63
+ rpc GetServingConfig(GetServingConfigRequest) returns (ServingConfig) {
64
+ option (google.api.http) = {
65
+ get: "/v1beta/{name=projects/*/locations/*/dataStores/*/servingConfigs/*}"
66
+ additional_bindings {
67
+ get: "/v1beta/{name=projects/*/locations/*/collections/*/dataStores/*/servingConfigs/*}"
68
+ }
69
+ additional_bindings {
70
+ get: "/v1beta/{name=projects/*/locations/*/collections/*/engines/*/servingConfigs/*}"
71
+ }
72
+ };
73
+ option (google.api.method_signature) = "name";
74
+ }
75
+
76
+ // Lists all ServingConfigs linked to this dataStore.
77
+ rpc ListServingConfigs(ListServingConfigsRequest)
78
+ returns (ListServingConfigsResponse) {
79
+ option (google.api.http) = {
80
+ get: "/v1beta/{parent=projects/*/locations/*/dataStores/*}/servingConfigs"
81
+ additional_bindings {
82
+ get: "/v1beta/{parent=projects/*/locations/*/collections/*/dataStores/*}/servingConfigs"
83
+ }
84
+ additional_bindings {
85
+ get: "/v1beta/{parent=projects/*/locations/*/collections/*/engines/*}/servingConfigs"
86
+ }
87
+ };
88
+ option (google.api.method_signature) = "parent";
89
+ }
90
+ }
91
+
92
+ // Request for UpdateServingConfig method.
93
+ message UpdateServingConfigRequest {
94
+ // Required. The ServingConfig to update.
95
+ ServingConfig serving_config = 1 [(google.api.field_behavior) = REQUIRED];
96
+
97
+ // Indicates which fields in the provided
98
+ // [ServingConfig][google.cloud.discoveryengine.v1beta.ServingConfig] to
99
+ // update. The following are NOT supported:
100
+ //
101
+ // * [ServingConfig.name][google.cloud.discoveryengine.v1beta.ServingConfig.name]
102
+ //
103
+ // If not set, all supported fields are updated.
104
+ google.protobuf.FieldMask update_mask = 2;
105
+ }
106
+
107
+ // Request for GetServingConfig method.
108
+ message GetServingConfigRequest {
109
+ // Required. The resource name of the ServingConfig to get. Format:
110
+ // `projects/{project_number}/locations/{location}/collections/{collection}/dataStores/{data_store}/servingConfigs/{serving_config_id}`
111
+ string name = 1 [
112
+ (google.api.field_behavior) = REQUIRED,
113
+ (google.api.resource_reference) = {
114
+ type: "discoveryengine.googleapis.com/ServingConfig"
115
+ }
116
+ ];
117
+ }
118
+
119
+ // Request for ListServingConfigs method.
120
+ message ListServingConfigsRequest {
121
+ // Required. The dataStore resource name. Format:
122
+ // `projects/{project_number}/locations/{location}/collections/{collection}/dataStores/{data_store}`
123
+ string parent = 1 [
124
+ (google.api.field_behavior) = REQUIRED,
125
+ (google.api.resource_reference) = {
126
+ type: "discoveryengine.googleapis.com/DataStore"
127
+ }
128
+ ];
129
+
130
+ // Optional. Maximum number of results to return. If unspecified, defaults
131
+ // to 100. If a value greater than 100 is provided, at most 100 results are
132
+ // returned.
133
+ int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
134
+
135
+ // Optional. A page token, received from a previous `ListServingConfigs` call.
136
+ // Provide this to retrieve the subsequent page.
137
+ string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
138
+ }
139
+
140
+ // Response for ListServingConfigs method.
141
+ message ListServingConfigsResponse {
142
+ // All the ServingConfigs for a given dataStore.
143
+ repeated ServingConfig serving_configs = 1;
144
+
145
+ // Pagination token, if not returned indicates the last page.
146
+ string next_page_token = 2;
147
+ }
@@ -0,0 +1,170 @@
1
+ // Copyright 2022 Google LLC
2
+ //
3
+ // Licensed under the Apache License, Version 2.0 (the "License");
4
+ // you may not use this file except in compliance with the License.
5
+ // You may obtain a copy of the License at
6
+ //
7
+ // http://www.apache.org/licenses/LICENSE-2.0
8
+ //
9
+ // Unless required by applicable law or agreed to in writing, software
10
+ // distributed under the License is distributed on an "AS IS" BASIS,
11
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ // See the License for the specific language governing permissions and
13
+ // limitations under the License.
14
+
15
+ syntax = "proto3";
16
+
17
+ package google.cloud.discoveryengine.v1beta;
18
+
19
+ import "google/api/field_behavior.proto";
20
+ import "google/api/resource.proto";
21
+ import "google/protobuf/timestamp.proto";
22
+
23
+ option csharp_namespace = "Google.Cloud.DiscoveryEngine.V1Beta";
24
+ option go_package = "cloud.google.com/go/discoveryengine/apiv1beta/discoveryenginepb;discoveryenginepb";
25
+ option java_multiple_files = true;
26
+ option java_outer_classname = "SiteSearchEngineProto";
27
+ option java_package = "com.google.cloud.discoveryengine.v1beta";
28
+ option objc_class_prefix = "DISCOVERYENGINE";
29
+ option php_namespace = "Google\\Cloud\\DiscoveryEngine\\V1beta";
30
+ option ruby_package = "Google::Cloud::DiscoveryEngine::V1beta";
31
+
32
+ // SiteSearchEngine captures DataStore level site search persisting
33
+ // configurations. It is a singleton value per data store.
34
+ message SiteSearchEngine {
35
+ option (google.api.resource) = {
36
+ type: "discoveryengine.googleapis.com/SiteSearchEngine"
37
+ pattern: "projects/{project}/locations/{location}/dataStores/{data_store}/siteSearchEngine"
38
+ pattern: "projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/siteSearchEngine"
39
+ };
40
+
41
+ // The fully qualified resource name of the site search engine.
42
+ // Format: `projects/*/locations/*/dataStores/*/siteSearchEngine`
43
+ string name = 1;
44
+ }
45
+
46
+ // A target site for the SiteSearchEngine.
47
+ message TargetSite {
48
+ option (google.api.resource) = {
49
+ type: "discoveryengine.googleapis.com/TargetSite"
50
+ pattern: "projects/{project}/locations/{location}/dataStores/{data_store}/siteSearchEngine/targetSites/{target_site}"
51
+ pattern: "projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/siteSearchEngine/targetSites/{target_site}"
52
+ };
53
+
54
+ // Site search indexing failure reasons.
55
+ message FailureReason {
56
+ // Failed due to insufficient quota.
57
+ message QuotaFailure {
58
+ // This number is an estimation on how much total quota this project needs
59
+ // to successfully complete indexing.
60
+ int64 total_required_quota = 1;
61
+ }
62
+
63
+ // Failure reason.
64
+ oneof failure {
65
+ // Failed due to insufficient quota.
66
+ QuotaFailure quota_failure = 1;
67
+ }
68
+ }
69
+
70
+ // Possible target site types.
71
+ enum Type {
72
+ // This value is unused. In this case, server behavior defaults to
73
+ // [Type.INCLUDE][google.cloud.discoveryengine.v1beta.TargetSite.Type.INCLUDE].
74
+ TYPE_UNSPECIFIED = 0;
75
+
76
+ // Include the target site.
77
+ INCLUDE = 1;
78
+
79
+ // Exclude the target site.
80
+ EXCLUDE = 2;
81
+ }
82
+
83
+ // Target site indexing status enumeration.
84
+ enum IndexingStatus {
85
+ // Defaults to SUCCEEDED.
86
+ INDEXING_STATUS_UNSPECIFIED = 0;
87
+
88
+ // The target site is in the update queue and will be picked up by indexing
89
+ // pipeline.
90
+ PENDING = 1;
91
+
92
+ // The target site fails to be indexed.
93
+ FAILED = 2;
94
+
95
+ // The target site has been indexed.
96
+ SUCCEEDED = 3;
97
+
98
+ // The previously indexed target site has been marked to be deleted. This is
99
+ // a transitioning state which will resulted in either:
100
+ // 1. target site deleted if unindexing is successful;
101
+ // 2. state reverts to SUCCEEDED if the unindexing fails.
102
+ DELETING = 4;
103
+ }
104
+
105
+ // Output only. The fully qualified resource name of the target site.
106
+ // `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/siteSearchEngine/targetSites/{target_site}`
107
+ // The `target_site_id` is system-generated.
108
+ string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
109
+
110
+ // Required. Input only. The user provided URI pattern from which the
111
+ // `generated_uri_pattern` is generated.
112
+ string provided_uri_pattern = 2 [
113
+ (google.api.field_behavior) = REQUIRED,
114
+ (google.api.field_behavior) = INPUT_ONLY
115
+ ];
116
+
117
+ // The type of the target site, e.g., whether the site is to be included or
118
+ // excluded.
119
+ Type type = 3;
120
+
121
+ // Input only. If set to false, a uri_pattern is generated to include all
122
+ // pages whose address contains the provided_uri_pattern. If set to true, an
123
+ // uri_pattern is generated to try to be an exact match of the
124
+ // provided_uri_pattern or just the specific page if the provided_uri_pattern
125
+ // is a specific one. provided_uri_pattern is always normalized to
126
+ // generate the URI pattern to be used by the search engine.
127
+ bool exact_match = 6 [(google.api.field_behavior) = INPUT_ONLY];
128
+
129
+ // Output only. This is system-generated based on the provided_uri_pattern.
130
+ string generated_uri_pattern = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
131
+
132
+ // Output only. Site ownership and validity verification status.
133
+ SiteVerificationInfo site_verification_info = 7
134
+ [(google.api.field_behavior) = OUTPUT_ONLY];
135
+
136
+ // Output only. Indexing status.
137
+ IndexingStatus indexing_status = 8
138
+ [(google.api.field_behavior) = OUTPUT_ONLY];
139
+
140
+ // Output only. The target site's last updated time.
141
+ google.protobuf.Timestamp update_time = 5
142
+ [(google.api.field_behavior) = OUTPUT_ONLY];
143
+
144
+ // Output only. Failure reason.
145
+ FailureReason failure_reason = 9 [(google.api.field_behavior) = OUTPUT_ONLY];
146
+ }
147
+
148
+ // Verification information for target sites in advanced site search.
149
+ message SiteVerificationInfo {
150
+ // Site verification state.
151
+ enum SiteVerificationState {
152
+ // Defaults to VERIFIED.
153
+ SITE_VERIFICATION_STATE_UNSPECIFIED = 0;
154
+
155
+ // Site ownership verified.
156
+ VERIFIED = 1;
157
+
158
+ // Site ownership pending verification or verification failed.
159
+ UNVERIFIED = 2;
160
+
161
+ // Site exempt from verification, e.g., a public website that opens to all.
162
+ EXEMPTED = 3;
163
+ }
164
+
165
+ // Site verification state indicating the ownership and validity.
166
+ SiteVerificationState site_verification_state = 1;
167
+
168
+ // Latest site verification time.
169
+ google.protobuf.Timestamp verify_time = 2;
170
+ }