google-cloud-discovery_engine-v1 0.6.0 → 0.7.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (43) hide show
  1. checksums.yaml +4 -4
  2. data/lib/google/cloud/discovery_engine/v1/conversational_search_service/client.rb +5 -1
  3. data/lib/google/cloud/discovery_engine/v1/conversational_search_service/rest/client.rb +5 -1
  4. data/lib/google/cloud/discovery_engine/v1/data_store_service/paths.rb +49 -0
  5. data/lib/google/cloud/discovery_engine/v1/document_service/client.rb +49 -21
  6. data/lib/google/cloud/discovery_engine/v1/document_service/paths.rb +21 -0
  7. data/lib/google/cloud/discovery_engine/v1/document_service/rest/client.rb +49 -21
  8. data/lib/google/cloud/discovery_engine/v1/recommendation_service/client.rb +553 -0
  9. data/lib/google/cloud/discovery_engine/v1/recommendation_service/credentials.rb +47 -0
  10. data/lib/google/cloud/discovery_engine/v1/recommendation_service/paths.rb +154 -0
  11. data/lib/google/cloud/discovery_engine/v1/recommendation_service/rest/client.rb +520 -0
  12. data/lib/google/cloud/discovery_engine/v1/recommendation_service/rest/service_stub.rb +145 -0
  13. data/lib/google/cloud/discovery_engine/v1/recommendation_service/rest.rb +52 -0
  14. data/lib/google/cloud/discovery_engine/v1/recommendation_service.rb +55 -0
  15. data/lib/google/cloud/discovery_engine/v1/rest.rb +1 -0
  16. data/lib/google/cloud/discovery_engine/v1/search_service/client.rb +12 -6
  17. data/lib/google/cloud/discovery_engine/v1/search_service/paths.rb +45 -0
  18. data/lib/google/cloud/discovery_engine/v1/search_service/rest/client.rb +12 -6
  19. data/lib/google/cloud/discovery_engine/v1/version.rb +1 -1
  20. data/lib/google/cloud/discovery_engine/v1.rb +1 -0
  21. data/lib/google/cloud/discoveryengine/v1/common_pb.rb +1 -1
  22. data/lib/google/cloud/discoveryengine/v1/conversational_search_service_pb.rb +1 -1
  23. data/lib/google/cloud/discoveryengine/v1/data_store_pb.rb +3 -1
  24. data/lib/google/cloud/discoveryengine/v1/document_pb.rb +3 -1
  25. data/lib/google/cloud/discoveryengine/v1/document_service_pb.rb +3 -1
  26. data/lib/google/cloud/discoveryengine/v1/import_config_pb.rb +13 -1
  27. data/lib/google/cloud/discoveryengine/v1/purge_config_pb.rb +1 -1
  28. data/lib/google/cloud/discoveryengine/v1/recommendation_service_pb.rb +55 -0
  29. data/lib/google/cloud/discoveryengine/v1/recommendation_service_services_pb.rb +45 -0
  30. data/lib/google/cloud/discoveryengine/v1/search_service_pb.rb +4 -1
  31. data/proto_docs/google/api/client.rb +4 -0
  32. data/proto_docs/google/cloud/discoveryengine/v1/common.rb +9 -1
  33. data/proto_docs/google/cloud/discoveryengine/v1/conversational_search_service.rb +5 -0
  34. data/proto_docs/google/cloud/discoveryengine/v1/data_store.rb +16 -0
  35. data/proto_docs/google/cloud/discoveryengine/v1/document.rb +7 -0
  36. data/proto_docs/google/cloud/discoveryengine/v1/document_service.rb +4 -0
  37. data/proto_docs/google/cloud/discoveryengine/v1/engine.rb +2 -2
  38. data/proto_docs/google/cloud/discoveryengine/v1/import_config.rb +311 -22
  39. data/proto_docs/google/cloud/discoveryengine/v1/purge_config.rb +3 -0
  40. data/proto_docs/google/cloud/discoveryengine/v1/recommendation_service.rb +228 -0
  41. data/proto_docs/google/cloud/discoveryengine/v1/search_service.rb +129 -21
  42. data/proto_docs/google/cloud/discoveryengine/v1/user_event.rb +16 -11
  43. metadata +12 -2
@@ -47,11 +47,11 @@ module Google
47
47
  # bits of SHA256(URI) encoded as a hex string.
48
48
  # * `custom`: One custom data JSON per row in arbitrary format that conforms
49
49
  # to the defined {::Google::Cloud::DiscoveryEngine::V1::Schema Schema} of the
50
- # data store. This can only be used by Gen App Builder.
50
+ # data store. This can only be used by the GENERIC Data Store vertical.
51
51
  # * `csv`: A CSV file with header conforming to the defined
52
52
  # {::Google::Cloud::DiscoveryEngine::V1::Schema Schema} of the
53
53
  # data store. Each entry after the header is imported as a Document.
54
- # This can only be used by Gen App Builder.
54
+ # This can only be used by the GENERIC Data Store vertical.
55
55
  #
56
56
  # Supported values for user even imports:
57
57
  #
@@ -104,12 +104,267 @@ module Google
104
104
  # {::Google::Cloud::DiscoveryEngine::V1::Document#struct_data Document.struct_data}.
105
105
  # * `custom`: One custom data per row in arbitrary format that conforms to
106
106
  # the defined {::Google::Cloud::DiscoveryEngine::V1::Schema Schema} of the data
107
- # store. This can only be used by Gen App Builder.
107
+ # store. This can only be used by the GENERIC Data Store vertical.
108
108
  class BigQuerySource
109
109
  include ::Google::Protobuf::MessageExts
110
110
  extend ::Google::Protobuf::MessageExts::ClassMethods
111
111
  end
112
112
 
113
+ # The Spanner source for importing data
114
+ # @!attribute [rw] project_id
115
+ # @return [::String]
116
+ # The project ID that the Spanner source is in with a length limit of 128
117
+ # characters. If not specified, inherits the project ID from the parent
118
+ # request.
119
+ # @!attribute [rw] instance_id
120
+ # @return [::String]
121
+ # Required. The instance ID of the source Spanner table.
122
+ # @!attribute [rw] database_id
123
+ # @return [::String]
124
+ # Required. The database ID of the source Spanner table.
125
+ # @!attribute [rw] table_id
126
+ # @return [::String]
127
+ # Required. The table name of the Spanner database that needs to be imported.
128
+ # @!attribute [rw] enable_data_boost
129
+ # @return [::Boolean]
130
+ # Whether to apply data boost on Spanner export. Enabling this option will
131
+ # incur additional cost. More info can be found
132
+ # [here](https://cloud.google.com/spanner/docs/databoost/databoost-overview#billing_and_quotas).
133
+ class SpannerSource
134
+ include ::Google::Protobuf::MessageExts
135
+ extend ::Google::Protobuf::MessageExts::ClassMethods
136
+ end
137
+
138
+ # The Bigtable Options object that contains information to support
139
+ # the import.
140
+ # @!attribute [rw] key_field_name
141
+ # @return [::String]
142
+ # The field name used for saving row key value in the document. The name has
143
+ # to match the pattern `[a-zA-Z0-9][a-zA-Z0-9-_]*`.
144
+ # @!attribute [rw] families
145
+ # @return [::Google::Protobuf::Map{::String => ::Google::Cloud::DiscoveryEngine::V1::BigtableOptions::BigtableColumnFamily}]
146
+ # The mapping from family names to an object that contains column families
147
+ # level information for the given column family. If a family is not present
148
+ # in this map it will be ignored.
149
+ class BigtableOptions
150
+ include ::Google::Protobuf::MessageExts
151
+ extend ::Google::Protobuf::MessageExts::ClassMethods
152
+
153
+ # The column family of the Bigtable.
154
+ # @!attribute [rw] field_name
155
+ # @return [::String]
156
+ # The field name to use for this column family in the document. The
157
+ # name has to match the pattern `[a-zA-Z0-9][a-zA-Z0-9-_]*`. If not set,
158
+ # it is parsed from the family name with best effort. However, due to
159
+ # different naming patterns, field name collisions could happen, where
160
+ # parsing behavior is undefined.
161
+ # @!attribute [rw] encoding
162
+ # @return [::Google::Cloud::DiscoveryEngine::V1::BigtableOptions::Encoding]
163
+ # The encoding mode of the values when the type is not STRING.
164
+ # Acceptable encoding values are:
165
+ #
166
+ # * `TEXT`: indicates values are alphanumeric text strings.
167
+ # * `BINARY`: indicates values are encoded using `HBase Bytes.toBytes`
168
+ # family of functions. This can be overridden for a specific column
169
+ # by listing that column in `columns` and specifying an encoding for it.
170
+ # @!attribute [rw] type
171
+ # @return [::Google::Cloud::DiscoveryEngine::V1::BigtableOptions::Type]
172
+ # The type of values in this column family.
173
+ # The values are expected to be encoded using `HBase Bytes.toBytes`
174
+ # function when the encoding value is set to `BINARY`.
175
+ # @!attribute [rw] columns
176
+ # @return [::Array<::Google::Cloud::DiscoveryEngine::V1::BigtableOptions::BigtableColumn>]
177
+ # The list of objects that contains column level information for each
178
+ # column. If a column is not present in this list it will be ignored.
179
+ class BigtableColumnFamily
180
+ include ::Google::Protobuf::MessageExts
181
+ extend ::Google::Protobuf::MessageExts::ClassMethods
182
+ end
183
+
184
+ # The column of the Bigtable.
185
+ # @!attribute [rw] qualifier
186
+ # @return [::String]
187
+ # Required. Qualifier of the column. If it cannot be decoded with utf-8,
188
+ # use a base-64 encoded string instead.
189
+ # @!attribute [rw] field_name
190
+ # @return [::String]
191
+ # The field name to use for this column in the document. The name has to
192
+ # match the pattern `[a-zA-Z0-9][a-zA-Z0-9-_]*`.
193
+ # If not set, it is parsed from the qualifier bytes with best effort.
194
+ # However, due to different naming patterns, field name collisions could
195
+ # happen, where parsing behavior is undefined.
196
+ # @!attribute [rw] encoding
197
+ # @return [::Google::Cloud::DiscoveryEngine::V1::BigtableOptions::Encoding]
198
+ # The encoding mode of the values when the type is not `STRING`.
199
+ # Acceptable encoding values are:
200
+ #
201
+ # * `TEXT`: indicates values are alphanumeric text strings.
202
+ # * `BINARY`: indicates values are encoded using `HBase Bytes.toBytes`
203
+ # family of functions. This can be overridden for a specific column
204
+ # by listing that column in `columns` and specifying an encoding for it.
205
+ # @!attribute [rw] type
206
+ # @return [::Google::Cloud::DiscoveryEngine::V1::BigtableOptions::Type]
207
+ # The type of values in this column family.
208
+ # The values are expected to be encoded using `HBase Bytes.toBytes`
209
+ # function when the encoding value is set to `BINARY`.
210
+ class BigtableColumn
211
+ include ::Google::Protobuf::MessageExts
212
+ extend ::Google::Protobuf::MessageExts::ClassMethods
213
+ end
214
+
215
+ # @!attribute [rw] key
216
+ # @return [::String]
217
+ # @!attribute [rw] value
218
+ # @return [::Google::Cloud::DiscoveryEngine::V1::BigtableOptions::BigtableColumnFamily]
219
+ class FamiliesEntry
220
+ include ::Google::Protobuf::MessageExts
221
+ extend ::Google::Protobuf::MessageExts::ClassMethods
222
+ end
223
+
224
+ # The type of values in a Bigtable column or column family.
225
+ # The values are expected to be encoded using
226
+ # [HBase
227
+ # Bytes.toBytes](https://hbase.apache.org/apidocs/org/apache/hadoop/hbase/util/Bytes.html)
228
+ # function when the encoding value is set to `BINARY`.
229
+ module Type
230
+ # The type is unspecified.
231
+ TYPE_UNSPECIFIED = 0
232
+
233
+ # String type.
234
+ STRING = 1
235
+
236
+ # Numerical type.
237
+ NUMBER = 2
238
+
239
+ # Integer type.
240
+ INTEGER = 3
241
+
242
+ # Variable length integer type.
243
+ VAR_INTEGER = 4
244
+
245
+ # BigDecimal type.
246
+ BIG_NUMERIC = 5
247
+
248
+ # Boolean type.
249
+ BOOLEAN = 6
250
+
251
+ # JSON type.
252
+ JSON = 7
253
+ end
254
+
255
+ # The encoding mode of a Bigtable column or column family.
256
+ module Encoding
257
+ # The encoding is unspecified.
258
+ ENCODING_UNSPECIFIED = 0
259
+
260
+ # Text encoding.
261
+ TEXT = 1
262
+
263
+ # Binary encoding.
264
+ BINARY = 2
265
+ end
266
+ end
267
+
268
+ # The Cloud Bigtable source for importing data.
269
+ # @!attribute [rw] project_id
270
+ # @return [::String]
271
+ # The project ID that the Bigtable source is in with a length limit of 128
272
+ # characters. If not specified, inherits the project ID from the parent
273
+ # request.
274
+ # @!attribute [rw] instance_id
275
+ # @return [::String]
276
+ # Required. The instance ID of the Cloud Bigtable that needs to be imported.
277
+ # @!attribute [rw] table_id
278
+ # @return [::String]
279
+ # Required. The table ID of the Cloud Bigtable that needs to be imported.
280
+ # @!attribute [rw] bigtable_options
281
+ # @return [::Google::Cloud::DiscoveryEngine::V1::BigtableOptions]
282
+ # Required. Bigtable options that contains information needed when parsing
283
+ # data into typed structures. For example, column type annotations.
284
+ class BigtableSource
285
+ include ::Google::Protobuf::MessageExts
286
+ extend ::Google::Protobuf::MessageExts::ClassMethods
287
+ end
288
+
289
+ # Cloud FhirStore source import data from.
290
+ # @!attribute [rw] fhir_store
291
+ # @return [::String]
292
+ # Required. The full resource name of the FHIR store to import data from, in
293
+ # the format of
294
+ # `projects/{project}/locations/{location}/datasets/{dataset}/fhirStores/{fhir_store}`.
295
+ # @!attribute [rw] gcs_staging_dir
296
+ # @return [::String]
297
+ # Intermediate Cloud Storage directory used for the import with a length
298
+ # limit of 2,000 characters. Can be specified if one wants to have the
299
+ # FhirStore export to a specific Cloud Storage directory.
300
+ class FhirStoreSource
301
+ include ::Google::Protobuf::MessageExts
302
+ extend ::Google::Protobuf::MessageExts::ClassMethods
303
+ end
304
+
305
+ # Cloud SQL source import data from.
306
+ # @!attribute [rw] project_id
307
+ # @return [::String]
308
+ # The project ID that the Cloud SQL source is in with a length limit of 128
309
+ # characters. If not specified, inherits the project ID from the parent
310
+ # request.
311
+ # @!attribute [rw] instance_id
312
+ # @return [::String]
313
+ # Required. The Cloud SQL instance to copy the data from with a length limit
314
+ # of 256 characters.
315
+ # @!attribute [rw] database_id
316
+ # @return [::String]
317
+ # Required. The Cloud SQL database to copy the data from with a length limit
318
+ # of 256 characters.
319
+ # @!attribute [rw] table_id
320
+ # @return [::String]
321
+ # Required. The Cloud SQL table to copy the data from with a length limit of
322
+ # 256 characters.
323
+ # @!attribute [rw] gcs_staging_dir
324
+ # @return [::String]
325
+ # Intermediate Cloud Storage directory used for the import with a length
326
+ # limit of 2,000 characters. Can be specified if one wants to have the
327
+ # Cloud SQL export to a specific Cloud Storage directory.
328
+ #
329
+ # Ensure that the Cloud SQL service account has the necessary Cloud
330
+ # Storage Admin permissions to access the specified Cloud Storage directory.
331
+ # @!attribute [rw] offload
332
+ # @return [::Boolean]
333
+ # Option for serverless export. Enabling this option will incur additional
334
+ # cost. More info can be found
335
+ # [here](https://cloud.google.com/sql/pricing#serverless).
336
+ class CloudSqlSource
337
+ include ::Google::Protobuf::MessageExts
338
+ extend ::Google::Protobuf::MessageExts::ClassMethods
339
+ end
340
+
341
+ # Firestore source import data from.
342
+ # @!attribute [rw] project_id
343
+ # @return [::String]
344
+ # The project ID that the Cloud SQL source is in with a length limit of 128
345
+ # characters. If not specified, inherits the project ID from the parent
346
+ # request.
347
+ # @!attribute [rw] database_id
348
+ # @return [::String]
349
+ # Required. The Firestore database to copy the data from with a length limit
350
+ # of 256 characters.
351
+ # @!attribute [rw] collection_id
352
+ # @return [::String]
353
+ # Required. The Firestore collection to copy the data from with a length
354
+ # limit of 1,500 characters.
355
+ # @!attribute [rw] gcs_staging_dir
356
+ # @return [::String]
357
+ # Intermediate Cloud Storage directory used for the import with a length
358
+ # limit of 2,000 characters. Can be specified if one wants to have the
359
+ # Firestore export to a specific Cloud Storage directory.
360
+ #
361
+ # Ensure that the Firestore service account has the necessary Cloud
362
+ # Storage Admin permissions to access the specified Cloud Storage directory.
363
+ class FirestoreSource
364
+ include ::Google::Protobuf::MessageExts
365
+ extend ::Google::Protobuf::MessageExts::ClassMethods
366
+ end
367
+
113
368
  # Configuration of destination for Import related errors.
114
369
  # @!attribute [rw] gcs_prefix
115
370
  # @return [::String]
@@ -211,6 +466,9 @@ module Google
211
466
  # @!attribute [rw] failure_count
212
467
  # @return [::Integer]
213
468
  # Count of entries that encountered errors while processing.
469
+ # @!attribute [rw] total_count
470
+ # @return [::Integer]
471
+ # Total count of entries that were processed.
214
472
  class ImportDocumentsMetadata
215
473
  include ::Google::Protobuf::MessageExts
216
474
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -226,6 +484,21 @@ module Google
226
484
  # @!attribute [rw] bigquery_source
227
485
  # @return [::Google::Cloud::DiscoveryEngine::V1::BigQuerySource]
228
486
  # BigQuery input source.
487
+ # @!attribute [rw] fhir_store_source
488
+ # @return [::Google::Cloud::DiscoveryEngine::V1::FhirStoreSource]
489
+ # FhirStore input source.
490
+ # @!attribute [rw] spanner_source
491
+ # @return [::Google::Cloud::DiscoveryEngine::V1::SpannerSource]
492
+ # Spanner input source.
493
+ # @!attribute [rw] cloud_sql_source
494
+ # @return [::Google::Cloud::DiscoveryEngine::V1::CloudSqlSource]
495
+ # Cloud SQL input source.
496
+ # @!attribute [rw] firestore_source
497
+ # @return [::Google::Cloud::DiscoveryEngine::V1::FirestoreSource]
498
+ # Firestore input source.
499
+ # @!attribute [rw] bigtable_source
500
+ # @return [::Google::Cloud::DiscoveryEngine::V1::BigtableSource]
501
+ # Cloud Bigtable input source.
229
502
  # @!attribute [rw] parent
230
503
  # @return [::String]
231
504
  # Required. The parent branch resource name, such as
@@ -239,6 +512,10 @@ module Google
239
512
  # The mode of reconciliation between existing documents and the documents to
240
513
  # be imported. Defaults to
241
514
  # {::Google::Cloud::DiscoveryEngine::V1::ImportDocumentsRequest::ReconciliationMode::INCREMENTAL ReconciliationMode.INCREMENTAL}.
515
+ # @!attribute [rw] update_mask
516
+ # @return [::Google::Protobuf::FieldMask]
517
+ # Indicates which fields in the provided imported documents to update. If
518
+ # not set, the default is to update all fields.
242
519
  # @!attribute [rw] auto_generate_ids
243
520
  # @return [::Boolean]
244
521
  # Whether to automatically generate IDs for the documents if absent.
@@ -254,42 +531,54 @@ module Google
254
531
  # {::Google::Cloud::DiscoveryEngine::V1::ImportDocumentsRequest#id_field id_field},
255
532
  # otherwise, documents without IDs fail to be imported.
256
533
  #
257
- # Only set this field when using
258
- # {::Google::Cloud::DiscoveryEngine::V1::GcsSource GcsSource} or
259
- # {::Google::Cloud::DiscoveryEngine::V1::BigQuerySource BigQuerySource}, and when
534
+ # Supported data sources:
535
+ #
536
+ # * {::Google::Cloud::DiscoveryEngine::V1::GcsSource GcsSource}.
260
537
  # {::Google::Cloud::DiscoveryEngine::V1::GcsSource#data_schema GcsSource.data_schema}
261
- # or
538
+ # must be `custom` or `csv`. Otherwise, an INVALID_ARGUMENT error is thrown.
539
+ # * {::Google::Cloud::DiscoveryEngine::V1::BigQuerySource BigQuerySource}.
262
540
  # {::Google::Cloud::DiscoveryEngine::V1::BigQuerySource#data_schema BigQuerySource.data_schema}
263
- # is `custom` or `csv`. Otherwise, an INVALID_ARGUMENT error is thrown.
541
+ # must be `custom` or `csv`. Otherwise, an INVALID_ARGUMENT error is thrown.
542
+ # * {::Google::Cloud::DiscoveryEngine::V1::SpannerSource SpannerSource}.
543
+ # * {::Google::Cloud::DiscoveryEngine::V1::CloudSqlSource CloudSqlSource}.
544
+ # * {::Google::Cloud::DiscoveryEngine::V1::FirestoreSource FirestoreSource}.
545
+ # * {::Google::Cloud::DiscoveryEngine::V1::BigtableSource BigtableSource}.
264
546
  # @!attribute [rw] id_field
265
547
  # @return [::String]
266
- # The field in the Cloud Storage and BigQuery sources that indicates the
267
- # unique IDs of the documents.
548
+ # The field indicates the ID field or column to be used as unique IDs of
549
+ # the documents.
268
550
  #
269
551
  # For {::Google::Cloud::DiscoveryEngine::V1::GcsSource GcsSource} it is the key of
270
552
  # the JSON field. For instance, `my_id` for JSON `{"my_id": "some_uuid"}`.
271
- # For {::Google::Cloud::DiscoveryEngine::V1::BigQuerySource BigQuerySource} it is
272
- # the column name of the BigQuery table where the unique ids are stored.
553
+ # For others, it may be the column name of the table where the unique ids are
554
+ # stored.
273
555
  #
274
- # The values of the JSON field or the BigQuery column are used as the
556
+ # The values of the JSON field or the table column are used as the
275
557
  # {::Google::Cloud::DiscoveryEngine::V1::Document#id Document.id}s. The JSON field
276
- # or the BigQuery column must be of string type, and the values must be set
277
- # as valid strings conform to [RFC-1034](https://tools.ietf.org/html/rfc1034)
558
+ # or the table column must be of string type, and the values must be set as
559
+ # valid strings conform to [RFC-1034](https://tools.ietf.org/html/rfc1034)
278
560
  # with 1-63 characters. Otherwise, documents without valid IDs fail to be
279
561
  # imported.
280
562
  #
281
- # Only set this field when using
282
- # {::Google::Cloud::DiscoveryEngine::V1::GcsSource GcsSource} or
283
- # {::Google::Cloud::DiscoveryEngine::V1::BigQuerySource BigQuerySource}, and when
284
- # {::Google::Cloud::DiscoveryEngine::V1::GcsSource#data_schema GcsSource.data_schema}
285
- # or
286
- # {::Google::Cloud::DiscoveryEngine::V1::BigQuerySource#data_schema BigQuerySource.data_schema}
287
- # is `custom`. And only set this field when
563
+ # Only set this field when
288
564
  # {::Google::Cloud::DiscoveryEngine::V1::ImportDocumentsRequest#auto_generate_ids auto_generate_ids}
289
565
  # is unset or set as `false`. Otherwise, an INVALID_ARGUMENT error is thrown.
290
566
  #
291
567
  # If it is unset, a default value `_id` is used when importing from the
292
568
  # allowed data sources.
569
+ #
570
+ # Supported data sources:
571
+ #
572
+ # * {::Google::Cloud::DiscoveryEngine::V1::GcsSource GcsSource}.
573
+ # {::Google::Cloud::DiscoveryEngine::V1::GcsSource#data_schema GcsSource.data_schema}
574
+ # must be `custom` or `csv`. Otherwise, an INVALID_ARGUMENT error is thrown.
575
+ # * {::Google::Cloud::DiscoveryEngine::V1::BigQuerySource BigQuerySource}.
576
+ # {::Google::Cloud::DiscoveryEngine::V1::BigQuerySource#data_schema BigQuerySource.data_schema}
577
+ # must be `custom` or `csv`. Otherwise, an INVALID_ARGUMENT error is thrown.
578
+ # * {::Google::Cloud::DiscoveryEngine::V1::SpannerSource SpannerSource}.
579
+ # * {::Google::Cloud::DiscoveryEngine::V1::CloudSqlSource CloudSqlSource}.
580
+ # * {::Google::Cloud::DiscoveryEngine::V1::FirestoreSource FirestoreSource}.
581
+ # * {::Google::Cloud::DiscoveryEngine::V1::BigtableSource BigtableSource}.
293
582
  class ImportDocumentsRequest
294
583
  include ::Google::Protobuf::MessageExts
295
584
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -74,6 +74,9 @@ module Google
74
74
  # @!attribute [rw] failure_count
75
75
  # @return [::Integer]
76
76
  # Count of entries that encountered errors while processing.
77
+ # @!attribute [rw] ignored_count
78
+ # @return [::Integer]
79
+ # Count of entries that were ignored as entries were not found.
77
80
  class PurgeDocumentsMetadata
78
81
  include ::Google::Protobuf::MessageExts
79
82
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -0,0 +1,228 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2024 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Cloud
22
+ module DiscoveryEngine
23
+ module V1
24
+ # Request message for Recommend method.
25
+ # @!attribute [rw] serving_config
26
+ # @return [::String]
27
+ # Required. Full resource name of a [ServingConfig][]:
28
+ # `projects/*/locations/global/collections/*/engines/*/servingConfigs/*`, or
29
+ # `projects/*/locations/global/collections/*/dataStores/*/servingConfigs/*`
30
+ #
31
+ # One default serving config is created along with your recommendation engine
32
+ # creation. The engine ID will be used as the ID of the default serving
33
+ # config. For example, for Engine
34
+ # `projects/*/locations/global/collections/*/engines/my-engine`, you can use
35
+ # `projects/*/locations/global/collections/*/engines/my-engine/servingConfigs/my-engine`
36
+ # for your
37
+ # {::Google::Cloud::DiscoveryEngine::V1::RecommendationService::Client#recommend RecommendationService.Recommend}
38
+ # requests.
39
+ # @!attribute [rw] user_event
40
+ # @return [::Google::Cloud::DiscoveryEngine::V1::UserEvent]
41
+ # Required. Context about the user, what they are looking at and what action
42
+ # they took to trigger the Recommend request. Note that this user event
43
+ # detail won't be ingested to userEvent logs. Thus, a separate userEvent
44
+ # write request is required for event logging.
45
+ #
46
+ # Don't set
47
+ # {::Google::Cloud::DiscoveryEngine::V1::UserEvent#user_pseudo_id UserEvent.user_pseudo_id}
48
+ # or
49
+ # {::Google::Cloud::DiscoveryEngine::V1::UserInfo#user_id UserEvent.user_info.user_id}
50
+ # to the same fixed ID for different users. If you are trying to receive
51
+ # non-personalized recommendations (not recommended; this can negatively
52
+ # impact model performance), instead set
53
+ # {::Google::Cloud::DiscoveryEngine::V1::UserEvent#user_pseudo_id UserEvent.user_pseudo_id}
54
+ # to a random unique ID and leave
55
+ # {::Google::Cloud::DiscoveryEngine::V1::UserInfo#user_id UserEvent.user_info.user_id}
56
+ # unset.
57
+ # @!attribute [rw] page_size
58
+ # @return [::Integer]
59
+ # Maximum number of results to return. Set this property
60
+ # to the number of recommendation results needed. If zero, the service will
61
+ # choose a reasonable default. The maximum allowed value is 100. Values
62
+ # above 100 will be coerced to 100.
63
+ # @!attribute [rw] filter
64
+ # @return [::String]
65
+ # Filter for restricting recommendation results with a length limit of 5,000
66
+ # characters. Currently, only filter expressions on the `filter_tags`
67
+ # attribute is supported.
68
+ #
69
+ #
70
+ # Examples:
71
+ #
72
+ # * `(filter_tags: ANY("Red", "Blue") OR filter_tags: ANY("Hot", "Cold"))`
73
+ # * `(filter_tags: ANY("Red", "Blue")) AND NOT (filter_tags: ANY("Green"))`
74
+ #
75
+ # If `attributeFilteringSyntax` is set to true under the `params` field, then
76
+ # attribute-based expressions are expected instead of the above described
77
+ # tag-based syntax. Examples:
78
+ #
79
+ # * (launguage: ANY("en", "es")) AND NOT (categories: ANY("Movie"))
80
+ # * (available: true) AND
81
+ # (launguage: ANY("en", "es")) OR (categories: ANY("Movie"))
82
+ #
83
+ # If your filter blocks all results, the API will return generic
84
+ # (unfiltered) popular Documents. If you only want results strictly matching
85
+ # the filters, set `strictFiltering` to True in
86
+ # {::Google::Cloud::DiscoveryEngine::V1::RecommendRequest#params RecommendRequest.params}
87
+ # to receive empty results instead.
88
+ #
89
+ # Note that the API will never return
90
+ # {::Google::Cloud::DiscoveryEngine::V1::Document Document}s with `storageStatus`
91
+ # of `EXPIRED` or `DELETED` regardless of filter choices.
92
+ # @!attribute [rw] validate_only
93
+ # @return [::Boolean]
94
+ # Use validate only mode for this recommendation query. If set to true, a
95
+ # fake model will be used that returns arbitrary Document IDs.
96
+ # Note that the validate only mode should only be used for testing the API,
97
+ # or if the model is not ready.
98
+ # @!attribute [rw] params
99
+ # @return [::Google::Protobuf::Map{::String => ::Google::Protobuf::Value}]
100
+ # Additional domain specific parameters for the recommendations.
101
+ #
102
+ # Allowed values:
103
+ #
104
+ # * `returnDocument`: Boolean. If set to true, the associated Document
105
+ # object will be returned in
106
+ # {::Google::Cloud::DiscoveryEngine::V1::RecommendResponse::RecommendationResult#document RecommendResponse.RecommendationResult.document}.
107
+ # * `returnScore`: Boolean. If set to true, the recommendation 'score'
108
+ # corresponding to each returned Document will be set in
109
+ # {::Google::Cloud::DiscoveryEngine::V1::RecommendResponse::RecommendationResult#metadata RecommendResponse.RecommendationResult.metadata}.
110
+ # The given 'score' indicates the probability of a Document conversion
111
+ # given the user's context and history.
112
+ # * `strictFiltering`: Boolean. True by default. If set to false, the service
113
+ # will return generic (unfiltered) popular Documents instead of empty if
114
+ # your filter blocks all recommendation results.
115
+ # * `diversityLevel`: String. Default empty. If set to be non-empty, then
116
+ # it needs to be one of:
117
+ # * `no-diversity`
118
+ # * `low-diversity`
119
+ # * `medium-diversity`
120
+ # * `high-diversity`
121
+ # * `auto-diversity`
122
+ # This gives request-level control and adjusts recommendation results
123
+ # based on Document category.
124
+ # * `attributeFilteringSyntax`: Boolean. False by default. If set to true,
125
+ # the `filter` field is interpreted according to the new,
126
+ # attribute-based syntax.
127
+ # @!attribute [rw] user_labels
128
+ # @return [::Google::Protobuf::Map{::String => ::String}]
129
+ # The user labels applied to a resource must meet the following requirements:
130
+ #
131
+ # * Each resource can have multiple labels, up to a maximum of 64.
132
+ # * Each label must be a key-value pair.
133
+ # * Keys have a minimum length of 1 character and a maximum length of 63
134
+ # characters and cannot be empty. Values can be empty and have a maximum
135
+ # length of 63 characters.
136
+ # * Keys and values can contain only lowercase letters, numeric characters,
137
+ # underscores, and dashes. All characters must use UTF-8 encoding, and
138
+ # international characters are allowed.
139
+ # * The key portion of a label must be unique. However, you can use the same
140
+ # key with multiple resources.
141
+ # * Keys must start with a lowercase letter or international character.
142
+ #
143
+ # See [Requirements for
144
+ # labels](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements)
145
+ # for more details.
146
+ class RecommendRequest
147
+ include ::Google::Protobuf::MessageExts
148
+ extend ::Google::Protobuf::MessageExts::ClassMethods
149
+
150
+ # @!attribute [rw] key
151
+ # @return [::String]
152
+ # @!attribute [rw] value
153
+ # @return [::Google::Protobuf::Value]
154
+ class ParamsEntry
155
+ include ::Google::Protobuf::MessageExts
156
+ extend ::Google::Protobuf::MessageExts::ClassMethods
157
+ end
158
+
159
+ # @!attribute [rw] key
160
+ # @return [::String]
161
+ # @!attribute [rw] value
162
+ # @return [::String]
163
+ class UserLabelsEntry
164
+ include ::Google::Protobuf::MessageExts
165
+ extend ::Google::Protobuf::MessageExts::ClassMethods
166
+ end
167
+ end
168
+
169
+ # Response message for Recommend method.
170
+ # @!attribute [rw] results
171
+ # @return [::Array<::Google::Cloud::DiscoveryEngine::V1::RecommendResponse::RecommendationResult>]
172
+ # A list of recommended Documents. The order represents the ranking (from the
173
+ # most relevant Document to the least).
174
+ # @!attribute [rw] attribution_token
175
+ # @return [::String]
176
+ # A unique attribution token. This should be included in the
177
+ # {::Google::Cloud::DiscoveryEngine::V1::UserEvent UserEvent} logs resulting from
178
+ # this recommendation, which enables accurate attribution of recommendation
179
+ # model performance.
180
+ # @!attribute [rw] missing_ids
181
+ # @return [::Array<::String>]
182
+ # IDs of documents in the request that were missing from the default Branch
183
+ # associated with the requested ServingConfig.
184
+ # @!attribute [rw] validate_only
185
+ # @return [::Boolean]
186
+ # True if
187
+ # {::Google::Cloud::DiscoveryEngine::V1::RecommendRequest#validate_only RecommendRequest.validate_only}
188
+ # was set.
189
+ class RecommendResponse
190
+ include ::Google::Protobuf::MessageExts
191
+ extend ::Google::Protobuf::MessageExts::ClassMethods
192
+
193
+ # RecommendationResult represents a generic recommendation result with
194
+ # associated metadata.
195
+ # @!attribute [rw] id
196
+ # @return [::String]
197
+ # Resource ID of the recommended Document.
198
+ # @!attribute [rw] document
199
+ # @return [::Google::Cloud::DiscoveryEngine::V1::Document]
200
+ # Set if `returnDocument` is set to true in
201
+ # {::Google::Cloud::DiscoveryEngine::V1::RecommendRequest#params RecommendRequest.params}.
202
+ # @!attribute [rw] metadata
203
+ # @return [::Google::Protobuf::Map{::String => ::Google::Protobuf::Value}]
204
+ # Additional Document metadata / annotations.
205
+ #
206
+ # Possible values:
207
+ #
208
+ # * `score`: Recommendation score in double value. Is set if
209
+ # `returnScore` is set to true in
210
+ # {::Google::Cloud::DiscoveryEngine::V1::RecommendRequest#params RecommendRequest.params}.
211
+ class RecommendationResult
212
+ include ::Google::Protobuf::MessageExts
213
+ extend ::Google::Protobuf::MessageExts::ClassMethods
214
+
215
+ # @!attribute [rw] key
216
+ # @return [::String]
217
+ # @!attribute [rw] value
218
+ # @return [::Google::Protobuf::Value]
219
+ class MetadataEntry
220
+ include ::Google::Protobuf::MessageExts
221
+ extend ::Google::Protobuf::MessageExts::ClassMethods
222
+ end
223
+ end
224
+ end
225
+ end
226
+ end
227
+ end
228
+ end