@google-cloud/discoveryengine 1.3.0 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (131) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/README.md +63 -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/v1alpha/common.proto +0 -5
  20. package/build/protos/google/cloud/discoveryengine/v1alpha/conversation.proto +3 -0
  21. package/build/protos/google/cloud/discoveryengine/v1alpha/conversational_search_service.proto +39 -0
  22. package/build/protos/google/cloud/discoveryengine/v1alpha/document.proto +1 -1
  23. package/build/protos/google/cloud/discoveryengine/v1alpha/engine_service.proto +1 -1
  24. package/build/protos/google/cloud/discoveryengine/v1alpha/search_service.proto +97 -0
  25. package/build/protos/google/cloud/discoveryengine/v1alpha/search_tuning_service.proto +147 -0
  26. package/build/protos/google/cloud/discoveryengine/v1alpha/site_search_engine.proto +164 -0
  27. package/build/protos/google/cloud/discoveryengine/v1alpha/site_search_engine_service.proto +540 -0
  28. package/build/protos/google/cloud/discoveryengine/v1beta/common.proto +59 -8
  29. package/build/protos/google/cloud/discoveryengine/v1beta/completion.proto +52 -0
  30. package/build/protos/google/cloud/discoveryengine/v1beta/completion_service.proto +51 -4
  31. package/build/protos/google/cloud/discoveryengine/v1beta/conversation.proto +3 -0
  32. package/build/protos/google/cloud/discoveryengine/v1beta/conversational_search_service.proto +40 -1
  33. package/build/protos/google/cloud/discoveryengine/v1beta/data_store.proto +98 -0
  34. package/build/protos/google/cloud/discoveryengine/v1beta/data_store_service.proto +306 -0
  35. package/build/protos/google/cloud/discoveryengine/v1beta/document.proto +1 -1
  36. package/build/protos/google/cloud/discoveryengine/v1beta/engine.proto +220 -0
  37. package/build/protos/google/cloud/discoveryengine/v1beta/engine_service.proto +244 -0
  38. package/build/protos/google/cloud/discoveryengine/v1beta/import_config.proto +64 -0
  39. package/build/protos/google/cloud/discoveryengine/v1beta/purge_config.proto +38 -0
  40. package/build/protos/google/cloud/discoveryengine/v1beta/recommendation_service.proto +26 -3
  41. package/build/protos/google/cloud/discoveryengine/v1beta/search_service.proto +150 -11
  42. package/build/protos/google/cloud/discoveryengine/v1beta/serving_config.proto +264 -0
  43. package/build/protos/google/cloud/discoveryengine/v1beta/serving_config_service.proto +147 -0
  44. package/build/protos/google/cloud/discoveryengine/v1beta/site_search_engine.proto +170 -0
  45. package/build/protos/google/cloud/discoveryengine/v1beta/site_search_engine_service.proto +695 -0
  46. package/build/protos/google/cloud/discoveryengine/v1beta/user_event.proto +4 -3
  47. package/build/protos/protos.d.ts +42822 -21397
  48. package/build/protos/protos.js +110509 -61572
  49. package/build/protos/protos.json +11779 -6752
  50. package/build/src/index.d.ts +10 -1
  51. package/build/src/index.js +11 -2
  52. package/build/src/v1/completion_service_client.d.ts +489 -7
  53. package/build/src/v1/completion_service_client.js +716 -12
  54. package/build/src/v1/completion_service_client_config.json +10 -0
  55. package/build/src/v1/conversational_search_service_client.d.ts +341 -3
  56. package/build/src/v1/conversational_search_service_client.js +467 -10
  57. package/build/src/v1/data_store_service_client.d.ts +1286 -0
  58. package/build/src/v1/data_store_service_client.js +1768 -0
  59. package/build/src/v1/data_store_service_client_config.json +46 -0
  60. package/build/src/v1/document_service_client.d.ts +347 -2
  61. package/build/src/v1/document_service_client.js +507 -10
  62. package/build/src/v1/engine_service_client.d.ts +1211 -0
  63. package/build/src/v1/engine_service_client.js +1731 -0
  64. package/build/src/v1/engine_service_client_config.json +46 -0
  65. package/build/src/v1/index.d.ts +3 -0
  66. package/build/src/v1/index.js +8 -2
  67. package/build/src/v1/schema_service_client.d.ts +272 -2
  68. package/build/src/v1/schema_service_client.js +403 -10
  69. package/build/src/v1/search_service_client.d.ts +515 -11
  70. package/build/src/v1/search_service_client.js +649 -16
  71. package/build/src/v1/site_search_engine_service_client.d.ts +1564 -0
  72. package/build/src/v1/site_search_engine_service_client.js +2075 -0
  73. package/build/src/v1/site_search_engine_service_client_config.json +74 -0
  74. package/build/src/v1/user_event_service_client.d.ts +272 -2
  75. package/build/src/v1/user_event_service_client.js +403 -10
  76. package/build/src/v1alpha/completion_service_client.d.ts +230 -2
  77. package/build/src/v1alpha/completion_service_client.js +339 -10
  78. package/build/src/v1alpha/conversational_search_service_client.d.ts +247 -2
  79. package/build/src/v1alpha/conversational_search_service_client.js +339 -10
  80. package/build/src/v1alpha/data_store_service_client.d.ts +230 -2
  81. package/build/src/v1alpha/data_store_service_client.js +347 -12
  82. package/build/src/v1alpha/document_service_client.d.ts +230 -2
  83. package/build/src/v1alpha/document_service_client.js +347 -12
  84. package/build/src/v1alpha/engine_service_client.d.ts +231 -3
  85. package/build/src/v1alpha/engine_service_client.js +347 -12
  86. package/build/src/v1alpha/index.d.ts +1 -0
  87. package/build/src/v1alpha/index.js +4 -2
  88. package/build/src/v1alpha/recommendation_service_client.d.ts +230 -2
  89. package/build/src/v1alpha/recommendation_service_client.js +339 -10
  90. package/build/src/v1alpha/schema_service_client.d.ts +230 -2
  91. package/build/src/v1alpha/schema_service_client.js +347 -12
  92. package/build/src/v1alpha/search_service_client.d.ts +269 -2
  93. package/build/src/v1alpha/search_service_client.js +365 -10
  94. package/build/src/v1alpha/search_tuning_service_client.d.ts +977 -0
  95. package/build/src/v1alpha/search_tuning_service_client.js +1479 -0
  96. package/build/src/v1alpha/search_tuning_service_client_config.json +30 -0
  97. package/build/src/v1alpha/site_search_engine_service_client.d.ts +750 -3
  98. package/build/src/v1alpha/site_search_engine_service_client.js +838 -14
  99. package/build/src/v1alpha/site_search_engine_service_client_config.json +44 -0
  100. package/build/src/v1alpha/user_event_service_client.d.ts +230 -2
  101. package/build/src/v1alpha/user_event_service_client.js +347 -12
  102. package/build/src/v1beta/completion_service_client.d.ts +633 -7
  103. package/build/src/v1beta/completion_service_client.js +912 -12
  104. package/build/src/v1beta/completion_service_client_config.json +10 -0
  105. package/build/src/v1beta/conversational_search_service_client.d.ts +341 -3
  106. package/build/src/v1beta/conversational_search_service_client.js +467 -10
  107. package/build/src/v1beta/data_store_service_client.d.ts +1433 -0
  108. package/build/src/v1beta/data_store_service_client.js +1966 -0
  109. package/build/src/v1beta/data_store_service_client_config.json +46 -0
  110. package/build/src/v1beta/document_service_client.d.ts +491 -2
  111. package/build/src/v1beta/document_service_client.js +707 -12
  112. package/build/src/v1beta/engine_service_client.d.ts +1357 -0
  113. package/build/src/v1beta/engine_service_client.js +1928 -0
  114. package/build/src/v1beta/engine_service_client_config.json +46 -0
  115. package/build/src/v1beta/index.d.ts +4 -0
  116. package/build/src/v1beta/index.js +10 -2
  117. package/build/src/v1beta/recommendation_service_client.d.ts +420 -5
  118. package/build/src/v1beta/recommendation_service_client.js +571 -10
  119. package/build/src/v1beta/schema_service_client.d.ts +416 -2
  120. package/build/src/v1beta/schema_service_client.js +603 -12
  121. package/build/src/v1beta/search_service_client.d.ts +539 -29
  122. package/build/src/v1beta/search_service_client.js +665 -28
  123. package/build/src/v1beta/serving_config_service_client.d.ts +1102 -0
  124. package/build/src/v1beta/serving_config_service_client.js +1563 -0
  125. package/build/src/v1beta/serving_config_service_client_config.json +38 -0
  126. package/build/src/v1beta/site_search_engine_service_client.d.ts +1712 -0
  127. package/build/src/v1beta/site_search_engine_service_client.js +2271 -0
  128. package/build/src/v1beta/site_search_engine_service_client_config.json +74 -0
  129. package/build/src/v1beta/user_event_service_client.d.ts +416 -2
  130. package/build/src/v1beta/user_event_service_client.js +603 -12
  131. package/package.json +3 -3
@@ -0,0 +1,52 @@
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
+
21
+ option csharp_namespace = "Google.Cloud.DiscoveryEngine.V1Beta";
22
+ option go_package = "cloud.google.com/go/discoveryengine/apiv1beta/discoveryenginepb;discoveryenginepb";
23
+ option java_multiple_files = true;
24
+ option java_outer_classname = "CompletionProto";
25
+ option java_package = "com.google.cloud.discoveryengine.v1beta";
26
+ option objc_class_prefix = "DISCOVERYENGINE";
27
+ option php_namespace = "Google\\Cloud\\DiscoveryEngine\\V1beta";
28
+ option ruby_package = "Google::Cloud::DiscoveryEngine::V1beta";
29
+
30
+ // Suggestion deny list entry identifying the phrase to block from suggestions
31
+ // and the applied operation for the phrase.
32
+ message SuggestionDenyListEntry {
33
+ // Operator for matching with the generated suggestions.
34
+ enum MatchOperator {
35
+ // Default value. Should not be used
36
+ MATCH_OPERATOR_UNSPECIFIED = 0;
37
+
38
+ // If the suggestion is an exact match to the block_phrase, then block it.
39
+ EXACT_MATCH = 1;
40
+
41
+ // If the suggestion contains the block_phrase, then block it.
42
+ CONTAINS = 2;
43
+ }
44
+
45
+ // Required. Phrase to block from suggestions served. Can be maximum 125
46
+ // characters.
47
+ string block_phrase = 1 [(google.api.field_behavior) = REQUIRED];
48
+
49
+ // Required. The match operator to apply for this phrase. Whether to block the
50
+ // exact phrase, or block any suggestions containing this phrase.
51
+ MatchOperator match_operator = 2 [(google.api.field_behavior) = REQUIRED];
52
+ }
@@ -20,6 +20,9 @@ import "google/api/annotations.proto";
20
20
  import "google/api/client.proto";
21
21
  import "google/api/field_behavior.proto";
22
22
  import "google/api/resource.proto";
23
+ import "google/cloud/discoveryengine/v1beta/import_config.proto";
24
+ import "google/cloud/discoveryengine/v1beta/purge_config.proto";
25
+ import "google/longrunning/operations.proto";
23
26
 
24
27
  option csharp_namespace = "Google.Cloud.DiscoveryEngine.V1Beta";
25
28
  option go_package = "cloud.google.com/go/discoveryengine/apiv1beta/discoveryenginepb;discoveryenginepb";
@@ -45,6 +48,44 @@ service CompletionService {
45
48
  }
46
49
  };
47
50
  }
51
+
52
+ // Imports all
53
+ // [SuggestionDenyListEntry][google.cloud.discoveryengine.v1beta.SuggestionDenyListEntry]
54
+ // for a DataStore.
55
+ rpc ImportSuggestionDenyListEntries(ImportSuggestionDenyListEntriesRequest)
56
+ returns (google.longrunning.Operation) {
57
+ option (google.api.http) = {
58
+ post: "/v1beta/{parent=projects/*/locations/*/collections/*/dataStores/*}/suggestionDenyListEntries:import"
59
+ body: "*"
60
+ additional_bindings {
61
+ post: "/v1beta/{parent=projects/*/locations/*/dataStores/*}/suggestionDenyListEntries:import"
62
+ body: "*"
63
+ }
64
+ };
65
+ option (google.longrunning.operation_info) = {
66
+ response_type: "google.cloud.discoveryengine.v1beta.ImportSuggestionDenyListEntriesResponse"
67
+ metadata_type: "google.cloud.discoveryengine.v1beta.ImportSuggestionDenyListEntriesMetadata"
68
+ };
69
+ }
70
+
71
+ // Permanently deletes all
72
+ // [SuggestionDenyListEntry][google.cloud.discoveryengine.v1beta.SuggestionDenyListEntry]
73
+ // for a DataStore.
74
+ rpc PurgeSuggestionDenyListEntries(PurgeSuggestionDenyListEntriesRequest)
75
+ returns (google.longrunning.Operation) {
76
+ option (google.api.http) = {
77
+ post: "/v1beta/{parent=projects/*/locations/*/collections/*/dataStores/*}/suggestionDenyListEntries:purge"
78
+ body: "*"
79
+ additional_bindings {
80
+ post: "/v1beta/{parent=projects/*/locations/*/dataStores/**}/suggestionDenyListEntries:purge"
81
+ body: "*"
82
+ }
83
+ };
84
+ option (google.longrunning.operation_info) = {
85
+ response_type: "google.cloud.discoveryengine.v1beta.PurgeSuggestionDenyListEntriesResponse"
86
+ metadata_type: "google.cloud.discoveryengine.v1beta.PurgeSuggestionDenyListEntriesMetadata"
87
+ };
88
+ }
48
89
  }
49
90
 
50
91
  // Request message for
@@ -65,8 +106,9 @@ message CompleteQueryRequest {
65
106
  // 128 characters.
66
107
  string query = 2 [(google.api.field_behavior) = REQUIRED];
67
108
 
68
- // Selects data model of query suggestions for serving. Currently supported
69
- // values:
109
+ // Specifies the autocomplete data model. This overrides any model specified
110
+ // in the Configuration > Autocomplete section of the Cloud console. Currently
111
+ // supported values:
70
112
  //
71
113
  // * `document` - Using suggestions generated from user-imported documents.
72
114
  // * `search-history` - Using suggestions generated from the past history of
@@ -80,8 +122,7 @@ message CompleteQueryRequest {
80
122
  // Default values:
81
123
  //
82
124
  // * `document` is the default model for regular dataStores.
83
- // * `search-history` is the default model for
84
- // [IndustryVertical.SITE_SEARCH][] dataStores.
125
+ // * `search-history` is the default model for site search dataStores.
85
126
  string query_model = 3;
86
127
 
87
128
  // A unique identifier for tracking visitors. For example, this could be
@@ -115,6 +156,12 @@ message CompleteQueryResponse {
115
156
  message QuerySuggestion {
116
157
  // The suggestion for the query.
117
158
  string suggestion = 1;
159
+
160
+ // The unique document field paths that serve as the source of this
161
+ // suggestion if it was generated from completable fields.
162
+ //
163
+ // This field is only populated for the document-completable model.
164
+ repeated string completable_field_paths = 2;
118
165
  }
119
166
 
120
167
  // Results of the matched query suggestions. The result list is ordered and
@@ -36,6 +36,7 @@ message Conversation {
36
36
  type: "discoveryengine.googleapis.com/Conversation"
37
37
  pattern: "projects/{project}/locations/{location}/dataStores/{data_store}/conversations/{conversation}"
38
38
  pattern: "projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/conversations/{conversation}"
39
+ pattern: "projects/{project}/locations/{location}/collections/{collection}/engines/{engine}/conversations/{conversation}"
39
40
  };
40
41
 
41
42
  // Enumeration of the state of the conversation.
@@ -52,6 +53,8 @@ message Conversation {
52
53
 
53
54
  // Immutable. Fully qualified name
54
55
  // `project/*/locations/global/collections/{collection}/dataStore/*/conversations/*`
56
+ // or
57
+ // `project/*/locations/global/collections/{collection}/engines/*/conversations/*`.
55
58
  string name = 1 [(google.api.field_behavior) = IMMUTABLE];
56
59
 
57
60
  // The state of the Conversation.
@@ -50,6 +50,10 @@ service ConversationalSearchService {
50
50
  post: "/v1beta/{name=projects/*/locations/*/collections/*/dataStores/*/conversations/*}:converse"
51
51
  body: "*"
52
52
  }
53
+ additional_bindings {
54
+ post: "/v1beta/{name=projects/*/locations/*/collections/*/engines/*/conversations/*}:converse"
55
+ body: "*"
56
+ }
53
57
  };
54
58
  option (google.api.method_signature) = "name,query";
55
59
  }
@@ -66,6 +70,10 @@ service ConversationalSearchService {
66
70
  post: "/v1beta/{parent=projects/*/locations/*/collections/*/dataStores/*}/conversations"
67
71
  body: "conversation"
68
72
  }
73
+ additional_bindings {
74
+ post: "/v1beta/{parent=projects/*/locations/*/collections/*/engines/*}/conversations"
75
+ body: "conversation"
76
+ }
69
77
  };
70
78
  option (google.api.method_signature) = "parent,conversation";
71
79
  }
@@ -81,6 +89,9 @@ service ConversationalSearchService {
81
89
  additional_bindings {
82
90
  delete: "/v1beta/{name=projects/*/locations/*/collections/*/dataStores/*/conversations/*}"
83
91
  }
92
+ additional_bindings {
93
+ delete: "/v1beta/{name=projects/*/locations/*/collections/*/engines/*/conversations/*}"
94
+ }
84
95
  };
85
96
  option (google.api.method_signature) = "name";
86
97
  }
@@ -99,6 +110,10 @@ service ConversationalSearchService {
99
110
  patch: "/v1beta/{conversation.name=projects/*/locations/*/collections/*/dataStores/*/conversations/*}"
100
111
  body: "conversation"
101
112
  }
113
+ additional_bindings {
114
+ patch: "/v1beta/{conversation.name=projects/*/locations/*/collections/*/engines/*/conversations/*}"
115
+ body: "conversation"
116
+ }
102
117
  };
103
118
  option (google.api.method_signature) = "conversation,update_mask";
104
119
  }
@@ -110,6 +125,9 @@ service ConversationalSearchService {
110
125
  additional_bindings {
111
126
  get: "/v1beta/{name=projects/*/locations/*/collections/*/dataStores/*/conversations/*}"
112
127
  }
128
+ additional_bindings {
129
+ get: "/v1beta/{name=projects/*/locations/*/collections/*/engines/*/conversations/*}"
130
+ }
113
131
  };
114
132
  option (google.api.method_signature) = "name";
115
133
  }
@@ -123,6 +141,9 @@ service ConversationalSearchService {
123
141
  additional_bindings {
124
142
  get: "/v1beta/{parent=projects/*/locations/*/collections/*/dataStores/*}/conversations"
125
143
  }
144
+ additional_bindings {
145
+ get: "/v1beta/{parent=projects/*/locations/*/collections/*/engines/*}/conversations"
146
+ }
126
147
  };
127
148
  option (google.api.method_signature) = "parent";
128
149
  }
@@ -184,6 +205,24 @@ message ConverseConversationRequest {
184
205
 
185
206
  // A specification for configuring the summary returned in the response.
186
207
  SearchRequest.ContentSearchSpec.SummarySpec summary_spec = 8;
208
+
209
+ // The filter syntax consists of an expression language for constructing a
210
+ // predicate from one or more fields of the documents being filtered. Filter
211
+ // expression is case-sensitive. This will be used to filter search results
212
+ // which may affect the summary response.
213
+ //
214
+ // If this field is unrecognizable, an `INVALID_ARGUMENT` is returned.
215
+ //
216
+ // Filtering in Vertex AI Search is done by mapping the LHS filter key to a
217
+ // key property defined in the Vertex AI Search backend -- this mapping is
218
+ // defined by the customer in their schema. For example a media customer might
219
+ // have a field 'name' in their schema. In this case the filter would look
220
+ // like this: filter --> name:'ANY("king kong")'
221
+ //
222
+ // For more information about filtering including syntax and filter
223
+ // operators, see
224
+ // [Filter](https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata)
225
+ string filter = 9;
187
226
  }
188
227
 
189
228
  // Response message for
@@ -227,7 +266,7 @@ message UpdateConversationRequest {
227
266
  // [Conversation][google.cloud.discoveryengine.v1beta.Conversation] to update.
228
267
  // The following are NOT supported:
229
268
  //
230
- // * [conversation.name][]
269
+ // * [Conversation.name][google.cloud.discoveryengine.v1beta.Conversation.name]
231
270
  //
232
271
  // If not set or empty, all supported fields are updated.
233
272
  google.protobuf.FieldMask update_mask = 2;
@@ -0,0 +1,98 @@
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/protobuf/timestamp.proto";
23
+
24
+ option csharp_namespace = "Google.Cloud.DiscoveryEngine.V1Beta";
25
+ option go_package = "cloud.google.com/go/discoveryengine/apiv1beta/discoveryenginepb;discoveryenginepb";
26
+ option java_multiple_files = true;
27
+ option java_outer_classname = "DataStoreProto";
28
+ option java_package = "com.google.cloud.discoveryengine.v1beta";
29
+ option objc_class_prefix = "DISCOVERYENGINE";
30
+ option php_namespace = "Google\\Cloud\\DiscoveryEngine\\V1beta";
31
+ option ruby_package = "Google::Cloud::DiscoveryEngine::V1beta";
32
+
33
+ // DataStore captures global settings and configs at the DataStore level.
34
+ message DataStore {
35
+ option (google.api.resource) = {
36
+ type: "discoveryengine.googleapis.com/DataStore"
37
+ pattern: "projects/{project}/locations/{location}/dataStores/{data_store}"
38
+ pattern: "projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}"
39
+ };
40
+
41
+ // Content config of the data store.
42
+ enum ContentConfig {
43
+ // Default value.
44
+ CONTENT_CONFIG_UNSPECIFIED = 0;
45
+
46
+ // Only contains documents without any
47
+ // [Document.content][google.cloud.discoveryengine.v1beta.Document.content].
48
+ NO_CONTENT = 1;
49
+
50
+ // Only contains documents with
51
+ // [Document.content][google.cloud.discoveryengine.v1beta.Document.content].
52
+ CONTENT_REQUIRED = 2;
53
+
54
+ // The data store is used for public website search.
55
+ PUBLIC_WEBSITE = 3;
56
+ }
57
+
58
+ // Immutable. The full resource name of the data store.
59
+ // Format:
60
+ // `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}`.
61
+ //
62
+ // This field must be a UTF-8 encoded string with a length limit of 1024
63
+ // characters.
64
+ string name = 1 [(google.api.field_behavior) = IMMUTABLE];
65
+
66
+ // Required. The data store display name.
67
+ //
68
+ // This field must be a UTF-8 encoded string with a length limit of 128
69
+ // characters. Otherwise, an INVALID_ARGUMENT error is returned.
70
+ string display_name = 2 [(google.api.field_behavior) = REQUIRED];
71
+
72
+ // Immutable. The industry vertical that the data store registers.
73
+ IndustryVertical industry_vertical = 3
74
+ [(google.api.field_behavior) = IMMUTABLE];
75
+
76
+ // The solutions that the data store enrolls. Available solutions for each
77
+ // [industry_vertical][google.cloud.discoveryengine.v1beta.DataStore.industry_vertical]:
78
+ //
79
+ // * `MEDIA`: `SOLUTION_TYPE_RECOMMENDATION` and `SOLUTION_TYPE_SEARCH`.
80
+ // * `SITE_SEARCH`: `SOLUTION_TYPE_SEARCH` is automatically enrolled. Other
81
+ // solutions cannot be enrolled.
82
+ repeated SolutionType solution_types = 5;
83
+
84
+ // Output only. The id of the default
85
+ // [Schema][google.cloud.discoveryengine.v1beta.Schema] asscociated to this
86
+ // data store.
87
+ string default_schema_id = 7 [(google.api.field_behavior) = OUTPUT_ONLY];
88
+
89
+ // Immutable. The content config of the data store. If this field is unset,
90
+ // the server behavior defaults to
91
+ // [ContentConfig.NO_CONTENT][google.cloud.discoveryengine.v1beta.DataStore.ContentConfig.NO_CONTENT].
92
+ ContentConfig content_config = 6 [(google.api.field_behavior) = IMMUTABLE];
93
+
94
+ // Output only. Timestamp the
95
+ // [DataStore][google.cloud.discoveryengine.v1beta.DataStore] was created at.
96
+ google.protobuf.Timestamp create_time = 4
97
+ [(google.api.field_behavior) = OUTPUT_ONLY];
98
+ }
@@ -0,0 +1,306 @@
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/data_store.proto";
24
+ import "google/longrunning/operations.proto";
25
+ import "google/protobuf/empty.proto";
26
+ import "google/protobuf/field_mask.proto";
27
+ import "google/protobuf/timestamp.proto";
28
+
29
+ option csharp_namespace = "Google.Cloud.DiscoveryEngine.V1Beta";
30
+ option go_package = "cloud.google.com/go/discoveryengine/apiv1beta/discoveryenginepb;discoveryenginepb";
31
+ option java_multiple_files = true;
32
+ option java_outer_classname = "DataStoreServiceProto";
33
+ option java_package = "com.google.cloud.discoveryengine.v1beta";
34
+ option objc_class_prefix = "DISCOVERYENGINE";
35
+ option php_namespace = "Google\\Cloud\\DiscoveryEngine\\V1beta";
36
+ option ruby_package = "Google::Cloud::DiscoveryEngine::V1beta";
37
+
38
+ // Service for managing
39
+ // [DataStore][google.cloud.discoveryengine.v1beta.DataStore] configuration.
40
+ service DataStoreService {
41
+ option (google.api.default_host) = "discoveryengine.googleapis.com";
42
+ option (google.api.oauth_scopes) =
43
+ "https://www.googleapis.com/auth/cloud-platform";
44
+
45
+ // Creates a [DataStore][google.cloud.discoveryengine.v1beta.DataStore].
46
+ //
47
+ // DataStore is for storing
48
+ // [Documents][google.cloud.discoveryengine.v1beta.Document]. To serve these
49
+ // documents for Search, or Recommendation use case, an
50
+ // [Engine][google.cloud.discoveryengine.v1beta.Engine] needs to be created
51
+ // separately.
52
+ rpc CreateDataStore(CreateDataStoreRequest)
53
+ returns (google.longrunning.Operation) {
54
+ option (google.api.http) = {
55
+ post: "/v1beta/{parent=projects/*/locations/*}/dataStores"
56
+ body: "data_store"
57
+ additional_bindings {
58
+ post: "/v1beta/{parent=projects/*/locations/*/collections/*}/dataStores"
59
+ body: "data_store"
60
+ }
61
+ };
62
+ option (google.api.method_signature) = "parent,data_store,data_store_id";
63
+ option (google.longrunning.operation_info) = {
64
+ response_type: "google.cloud.discoveryengine.v1beta.DataStore"
65
+ metadata_type: "google.cloud.discoveryengine.v1beta.CreateDataStoreMetadata"
66
+ };
67
+ }
68
+
69
+ // Gets a [DataStore][google.cloud.discoveryengine.v1beta.DataStore].
70
+ rpc GetDataStore(GetDataStoreRequest) returns (DataStore) {
71
+ option (google.api.http) = {
72
+ get: "/v1beta/{name=projects/*/locations/*/dataStores/*}"
73
+ additional_bindings {
74
+ get: "/v1beta/{name=projects/*/locations/*/collections/*/dataStores/*}"
75
+ }
76
+ };
77
+ option (google.api.method_signature) = "name";
78
+ }
79
+
80
+ // Lists all the [DataStore][google.cloud.discoveryengine.v1beta.DataStore]s
81
+ // associated with the project.
82
+ rpc ListDataStores(ListDataStoresRequest) returns (ListDataStoresResponse) {
83
+ option (google.api.http) = {
84
+ get: "/v1beta/{parent=projects/*/locations/*}/dataStores"
85
+ additional_bindings {
86
+ get: "/v1beta/{parent=projects/*/locations/*/collections/*}/dataStores"
87
+ }
88
+ };
89
+ option (google.api.method_signature) = "parent";
90
+ }
91
+
92
+ // Deletes a [DataStore][google.cloud.discoveryengine.v1beta.DataStore].
93
+ rpc DeleteDataStore(DeleteDataStoreRequest)
94
+ returns (google.longrunning.Operation) {
95
+ option (google.api.http) = {
96
+ delete: "/v1beta/{name=projects/*/locations/*/dataStores/*}"
97
+ additional_bindings {
98
+ delete: "/v1beta/{name=projects/*/locations/*/collections/*/dataStores/*}"
99
+ }
100
+ };
101
+ option (google.api.method_signature) = "name";
102
+ option (google.longrunning.operation_info) = {
103
+ response_type: "google.protobuf.Empty"
104
+ metadata_type: "google.cloud.discoveryengine.v1beta.DeleteDataStoreMetadata"
105
+ };
106
+ }
107
+
108
+ // Updates a [DataStore][google.cloud.discoveryengine.v1beta.DataStore]
109
+ rpc UpdateDataStore(UpdateDataStoreRequest) returns (DataStore) {
110
+ option (google.api.http) = {
111
+ patch: "/v1beta/{data_store.name=projects/*/locations/*/dataStores/*}"
112
+ body: "data_store"
113
+ additional_bindings {
114
+ patch: "/v1beta/{data_store.name=projects/*/locations/*/collections/*/dataStores/*}"
115
+ body: "data_store"
116
+ }
117
+ };
118
+ option (google.api.method_signature) = "data_store,update_mask";
119
+ }
120
+ }
121
+
122
+ // Request for
123
+ // [DataStoreService.CreateDataStore][google.cloud.discoveryengine.v1beta.DataStoreService.CreateDataStore]
124
+ // method.
125
+ message CreateDataStoreRequest {
126
+ // Required. The parent resource name, such as
127
+ // `projects/{project}/locations/{location}/collections/{collection}`.
128
+ string parent = 1 [
129
+ (google.api.field_behavior) = REQUIRED,
130
+ (google.api.resource_reference) = {
131
+ type: "discoveryengine.googleapis.com/Collection"
132
+ }
133
+ ];
134
+
135
+ // Required. The [DataStore][google.cloud.discoveryengine.v1beta.DataStore] to
136
+ // create.
137
+ DataStore data_store = 2 [(google.api.field_behavior) = REQUIRED];
138
+
139
+ // Required. The ID to use for the
140
+ // [DataStore][google.cloud.discoveryengine.v1beta.DataStore], which will
141
+ // become the final component of the
142
+ // [DataStore][google.cloud.discoveryengine.v1beta.DataStore]'s resource name.
143
+ //
144
+ // This field must conform to [RFC-1034](https://tools.ietf.org/html/rfc1034)
145
+ // standard with a length limit of 63 characters. Otherwise, an
146
+ // INVALID_ARGUMENT error is returned.
147
+ string data_store_id = 3 [(google.api.field_behavior) = REQUIRED];
148
+
149
+ // A boolean flag indicating whether user want to directly create an advanced
150
+ // data store for site search.
151
+ // If the data store is not configured as site
152
+ // search (GENERIC vertical and PUBLIC_WEBSITE content_config), this flag will
153
+ // be ignored.
154
+ bool create_advanced_site_search = 4;
155
+ }
156
+
157
+ // Request message for
158
+ // [DataStoreService.GetDataStore][google.cloud.discoveryengine.v1beta.DataStoreService.GetDataStore]
159
+ // method.
160
+ message GetDataStoreRequest {
161
+ // Required. Full resource name of
162
+ // [DataStore][google.cloud.discoveryengine.v1beta.DataStore], such as
163
+ // `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}`.
164
+ //
165
+ // If the caller does not have permission to access the
166
+ // [DataStore][google.cloud.discoveryengine.v1beta.DataStore], regardless of
167
+ // whether or not it exists, a PERMISSION_DENIED error is returned.
168
+ //
169
+ // If the requested [DataStore][google.cloud.discoveryengine.v1beta.DataStore]
170
+ // does not exist, a NOT_FOUND error is returned.
171
+ string name = 1 [
172
+ (google.api.field_behavior) = REQUIRED,
173
+ (google.api.resource_reference) = {
174
+ type: "discoveryengine.googleapis.com/DataStore"
175
+ }
176
+ ];
177
+ }
178
+
179
+ // Metadata related to the progress of the
180
+ // [DataStoreService.CreateDataStore][google.cloud.discoveryengine.v1beta.DataStoreService.CreateDataStore]
181
+ // operation. This will be returned by the google.longrunning.Operation.metadata
182
+ // field.
183
+ message CreateDataStoreMetadata {
184
+ // Operation create time.
185
+ google.protobuf.Timestamp create_time = 1;
186
+
187
+ // Operation last update time. If the operation is done, this is also the
188
+ // finish time.
189
+ google.protobuf.Timestamp update_time = 2;
190
+ }
191
+
192
+ // Request message for
193
+ // [DataStoreService.ListDataStores][google.cloud.discoveryengine.v1beta.DataStoreService.ListDataStores]
194
+ // method.
195
+ message ListDataStoresRequest {
196
+ // Required. The parent branch resource name, such as
197
+ // `projects/{project}/locations/{location}/collections/{collection_id}`.
198
+ //
199
+ // If the caller does not have permission to list
200
+ // [DataStore][google.cloud.discoveryengine.v1beta.DataStore]s under this
201
+ // location, regardless of whether or not this data store exists, a
202
+ // PERMISSION_DENIED error is returned.
203
+ string parent = 1 [
204
+ (google.api.field_behavior) = REQUIRED,
205
+ (google.api.resource_reference) = {
206
+ type: "discoveryengine.googleapis.com/Collection"
207
+ }
208
+ ];
209
+
210
+ // Maximum number of
211
+ // [DataStore][google.cloud.discoveryengine.v1beta.DataStore]s to return. If
212
+ // unspecified, defaults to 10. The maximum allowed value is 50. Values above
213
+ // 50 will be coerced to 50.
214
+ //
215
+ // If this field is negative, an INVALID_ARGUMENT is returned.
216
+ int32 page_size = 2;
217
+
218
+ // A page token
219
+ // [ListDataStoresResponse.next_page_token][google.cloud.discoveryengine.v1beta.ListDataStoresResponse.next_page_token],
220
+ // received from a previous
221
+ // [DataStoreService.ListDataStores][google.cloud.discoveryengine.v1beta.DataStoreService.ListDataStores]
222
+ // call. Provide this to retrieve the subsequent page.
223
+ //
224
+ // When paginating, all other parameters provided to
225
+ // [DataStoreService.ListDataStores][google.cloud.discoveryengine.v1beta.DataStoreService.ListDataStores]
226
+ // must match the call that provided the page token. Otherwise, an
227
+ // INVALID_ARGUMENT error is returned.
228
+ string page_token = 3;
229
+
230
+ // Filter by solution type. For example: filter =
231
+ // 'solution_type:SOLUTION_TYPE_SEARCH'
232
+ string filter = 4;
233
+ }
234
+
235
+ // Response message for
236
+ // [DataStoreService.ListDataStores][google.cloud.discoveryengine.v1beta.DataStoreService.ListDataStores]
237
+ // method.
238
+ message ListDataStoresResponse {
239
+ // All the customer's
240
+ // [DataStore][google.cloud.discoveryengine.v1beta.DataStore]s.
241
+ repeated DataStore data_stores = 1;
242
+
243
+ // A token that can be sent as
244
+ // [ListDataStoresRequest.page_token][google.cloud.discoveryengine.v1beta.ListDataStoresRequest.page_token]
245
+ // to retrieve the next page. If this field is omitted, there are no
246
+ // subsequent pages.
247
+ string next_page_token = 2;
248
+ }
249
+
250
+ // Request message for
251
+ // [DataStoreService.DeleteDataStore][google.cloud.discoveryengine.v1beta.DataStoreService.DeleteDataStore]
252
+ // method.
253
+ message DeleteDataStoreRequest {
254
+ // Required. Full resource name of
255
+ // [DataStore][google.cloud.discoveryengine.v1beta.DataStore], such as
256
+ // `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}`.
257
+ //
258
+ // If the caller does not have permission to delete the
259
+ // [DataStore][google.cloud.discoveryengine.v1beta.DataStore], regardless of
260
+ // whether or not it exists, a PERMISSION_DENIED error is returned.
261
+ //
262
+ // If the [DataStore][google.cloud.discoveryengine.v1beta.DataStore] to delete
263
+ // does not exist, a NOT_FOUND error is returned.
264
+ string name = 1 [
265
+ (google.api.field_behavior) = REQUIRED,
266
+ (google.api.resource_reference) = {
267
+ type: "discoveryengine.googleapis.com/DataStore"
268
+ }
269
+ ];
270
+ }
271
+
272
+ // Request message for
273
+ // [DataStoreService.UpdateDataStore][google.cloud.discoveryengine.v1beta.DataStoreService.UpdateDataStore]
274
+ // method.
275
+ message UpdateDataStoreRequest {
276
+ // Required. The [DataStore][google.cloud.discoveryengine.v1beta.DataStore] to
277
+ // update.
278
+ //
279
+ // If the caller does not have permission to update the
280
+ // [DataStore][google.cloud.discoveryengine.v1beta.DataStore], regardless of
281
+ // whether or not it exists, a PERMISSION_DENIED error is returned.
282
+ //
283
+ // If the [DataStore][google.cloud.discoveryengine.v1beta.DataStore] to update
284
+ // does not exist, a NOT_FOUND error is returned.
285
+ DataStore data_store = 1 [(google.api.field_behavior) = REQUIRED];
286
+
287
+ // Indicates which fields in the provided
288
+ // [DataStore][google.cloud.discoveryengine.v1beta.DataStore] to update.
289
+ //
290
+ // If an unsupported or unknown field is provided, an INVALID_ARGUMENT error
291
+ // is returned.
292
+ google.protobuf.FieldMask update_mask = 2;
293
+ }
294
+
295
+ // Metadata related to the progress of the
296
+ // [DataStoreService.DeleteDataStore][google.cloud.discoveryengine.v1beta.DataStoreService.DeleteDataStore]
297
+ // operation. This will be returned by the google.longrunning.Operation.metadata
298
+ // field.
299
+ message DeleteDataStoreMetadata {
300
+ // Operation create time.
301
+ google.protobuf.Timestamp create_time = 1;
302
+
303
+ // Operation last update time. If the operation is done, this is also the
304
+ // finish time.
305
+ google.protobuf.Timestamp update_time = 2;
306
+ }
@@ -53,7 +53,7 @@ message Document {
53
53
 
54
54
  // The URI of the content. Only Cloud Storage URIs (e.g.
55
55
  // `gs://bucket-name/path/to/file`) are supported. The maximum file size
56
- // is 100 MB.
56
+ // is 2.5 MB for text-based formats, 100 MB for other formats.
57
57
  string uri = 3;
58
58
  }
59
59