google-cloud-retail-v2 0.7.0 → 0.8.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 (32) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +5 -0
  3. data/lib/google/cloud/retail/v2/catalog_pb.rb +2 -1
  4. data/lib/google/cloud/retail/v2/catalog_service_pb.rb +2 -1
  5. data/lib/google/cloud/retail/v2/common_pb.rb +2 -1
  6. data/lib/google/cloud/retail/v2/completion_service/client.rb +3 -3
  7. data/lib/google/cloud/retail/v2/completion_service_pb.rb +2 -1
  8. data/lib/google/cloud/retail/v2/import_config_pb.rb +2 -1
  9. data/lib/google/cloud/retail/v2/prediction_service/client.rb +11 -1
  10. data/lib/google/cloud/retail/v2/prediction_service_pb.rb +2 -1
  11. data/lib/google/cloud/retail/v2/product_pb.rb +2 -1
  12. data/lib/google/cloud/retail/v2/product_service/client.rb +18 -5
  13. data/lib/google/cloud/retail/v2/product_service_pb.rb +2 -1
  14. data/lib/google/cloud/retail/v2/product_service_services_pb.rb +2 -2
  15. data/lib/google/cloud/retail/v2/purge_config_pb.rb +2 -1
  16. data/lib/google/cloud/retail/v2/search_service/client.rb +34 -7
  17. data/lib/google/cloud/retail/v2/search_service_pb.rb +14 -1
  18. data/lib/google/cloud/retail/v2/user_event_pb.rb +2 -1
  19. data/lib/google/cloud/retail/v2/user_event_service_pb.rb +2 -1
  20. data/lib/google/cloud/retail/v2/version.rb +1 -1
  21. data/proto_docs/google/cloud/retail/v2/catalog.rb +8 -8
  22. data/proto_docs/google/cloud/retail/v2/common.rb +22 -10
  23. data/proto_docs/google/cloud/retail/v2/completion_service.rb +11 -4
  24. data/proto_docs/google/cloud/retail/v2/import_config.rb +9 -2
  25. data/proto_docs/google/cloud/retail/v2/prediction_service.rb +13 -3
  26. data/proto_docs/google/cloud/retail/v2/product.rb +2 -2
  27. data/proto_docs/google/cloud/retail/v2/product_service.rb +24 -8
  28. data/proto_docs/google/cloud/retail/v2/search_service.rb +100 -20
  29. data/proto_docs/google/cloud/retail/v2/user_event.rb +6 -3
  30. data/proto_docs/google/protobuf/any.rb +3 -3
  31. data/proto_docs/google/protobuf/struct.rb +2 -2
  32. metadata +3 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 89163592b295d93348803898a24239837bdb48bbf061a099a2112d914cc53e47
4
- data.tar.gz: 12193ad19dff4ed242f1329e90a1c40adb99d837eafc5adc7b2a478006e9fb57
3
+ metadata.gz: '09eebe56def80aca474541e0f90b49b98428f7530cd3cf00f76ed6d069d0d2e3'
4
+ data.tar.gz: cb93509ec2c2f405c2dd69bf015f53dfa7daf9fa685190e4f6b64ce174371ad5
5
5
  SHA512:
6
- metadata.gz: bd235626e52464707b3c9a3631960409b73adc577ca457cacb18af1f07bf1484edc97493525fc062134a2a791d7e70d0833bea9a9584df9844ae58cbe968ca04
7
- data.tar.gz: 2be8ed1a45db9dd9aa5cb14def5fcf6cb7de39162cef3c9328c7a716585bd211ffc15d1cc1c59861d13ae51888815700d17d074592fdf86f9f153b57b9d037bc
6
+ metadata.gz: abc56ec5460f8cf74fde99d87bc6d44474a1f72fed49fb9dde8c414e2e6ac58f97061b29ca5f017af432fd3751ef160853048496689d4575146eae29fb3d4164
7
+ data.tar.gz: '08b8bf20cd8fc3c3f15a13b2b21a6fecb391d41e8697a17ba43e572e546733d9571d843be5724bd05d4e302788629f9d6a5f9562d1d0498d7f89711d0ff036a6'
data/README.md CHANGED
@@ -69,6 +69,11 @@ module GRPC
69
69
  end
70
70
  ```
71
71
 
72
+
73
+ ## Google Cloud Samples
74
+
75
+ To browse ready to use code samples check [Google Cloud Samples](https://cloud.google.com/docs/samples).
76
+
72
77
  ## Supported Ruby Versions
73
78
 
74
79
  This library is supported on Ruby 2.5+.
@@ -1,9 +1,10 @@
1
1
  # Generated by the protocol buffer compiler. DO NOT EDIT!
2
2
  # source: google/cloud/retail/v2/catalog.proto
3
3
 
4
+ require 'google/protobuf'
5
+
4
6
  require 'google/api/field_behavior_pb'
5
7
  require 'google/api/resource_pb'
6
- require 'google/protobuf'
7
8
 
8
9
  Google::Protobuf::DescriptorPool.generated_pool.build do
9
10
  add_file("google/cloud/retail/v2/catalog.proto", :syntax => :proto3) do
@@ -1,6 +1,8 @@
1
1
  # Generated by the protocol buffer compiler. DO NOT EDIT!
2
2
  # source: google/cloud/retail/v2/catalog_service.proto
3
3
 
4
+ require 'google/protobuf'
5
+
4
6
  require 'google/api/annotations_pb'
5
7
  require 'google/api/client_pb'
6
8
  require 'google/api/field_behavior_pb'
@@ -9,7 +11,6 @@ require 'google/cloud/retail/v2/catalog_pb'
9
11
  require 'google/protobuf/empty_pb'
10
12
  require 'google/protobuf/field_mask_pb'
11
13
  require 'google/protobuf/timestamp_pb'
12
- require 'google/protobuf'
13
14
 
14
15
  Google::Protobuf::DescriptorPool.generated_pool.build do
15
16
  add_file("google/cloud/retail/v2/catalog_service.proto", :syntax => :proto3) do
@@ -1,9 +1,10 @@
1
1
  # Generated by the protocol buffer compiler. DO NOT EDIT!
2
2
  # source: google/cloud/retail/v2/common.proto
3
3
 
4
+ require 'google/protobuf'
5
+
4
6
  require 'google/api/field_behavior_pb'
5
7
  require 'google/protobuf/timestamp_pb'
6
- require 'google/protobuf'
7
8
 
8
9
  Google::Protobuf::DescriptorPool.generated_pool.build do
9
10
  add_file("google/cloud/retail/v2/common.proto", :syntax => :proto3) do
@@ -236,9 +236,9 @@ module Google
236
236
  #
237
237
  # * user-data
238
238
  #
239
- # * cloud-retail
240
- # This option requires additional allowlisting. Before using cloud-retail,
241
- # contact Cloud Retail support team first.
239
+ # * cloud-retail:
240
+ # This option requires enabling auto-learning function first. See
241
+ # [guidelines](https://cloud.google.com/retail/docs/completion-overview#generated-completion-dataset).
242
242
  # @param max_suggestions [::Integer]
243
243
  # Completion max suggestions. If left unset or set to 0, then will fallback
244
244
  # to the configured value [CompletionConfig.max_suggestions][].
@@ -1,6 +1,8 @@
1
1
  # Generated by the protocol buffer compiler. DO NOT EDIT!
2
2
  # source: google/cloud/retail/v2/completion_service.proto
3
3
 
4
+ require 'google/protobuf'
5
+
4
6
  require 'google/api/annotations_pb'
5
7
  require 'google/api/client_pb'
6
8
  require 'google/api/field_behavior_pb'
@@ -8,7 +10,6 @@ require 'google/api/resource_pb'
8
10
  require 'google/cloud/retail/v2/common_pb'
9
11
  require 'google/cloud/retail/v2/import_config_pb'
10
12
  require 'google/longrunning/operations_pb'
11
- require 'google/protobuf'
12
13
 
13
14
  Google::Protobuf::DescriptorPool.generated_pool.build do
14
15
  add_file("google/cloud/retail/v2/completion_service.proto", :syntax => :proto3) do
@@ -1,6 +1,8 @@
1
1
  # Generated by the protocol buffer compiler. DO NOT EDIT!
2
2
  # source: google/cloud/retail/v2/import_config.proto
3
3
 
4
+ require 'google/protobuf'
5
+
4
6
  require 'google/api/field_behavior_pb'
5
7
  require 'google/api/resource_pb'
6
8
  require 'google/cloud/retail/v2/product_pb'
@@ -9,7 +11,6 @@ require 'google/protobuf/field_mask_pb'
9
11
  require 'google/protobuf/timestamp_pb'
10
12
  require 'google/rpc/status_pb'
11
13
  require 'google/type/date_pb'
12
- require 'google/protobuf'
13
14
 
14
15
  Google::Protobuf::DescriptorPool.generated_pool.build do
15
16
  add_file("google/cloud/retail/v2/import_config.proto", :syntax => :proto3) do
@@ -182,6 +182,16 @@ module Google
182
182
  # they took to trigger the predict request. Note that this user event detail
183
183
  # won't be ingested to userEvent logs. Thus, a separate userEvent write
184
184
  # request is required for event logging.
185
+ #
186
+ # Don't set
187
+ # {::Google::Cloud::Retail::V2::UserEvent#visitor_id UserEvent.visitor_id} or
188
+ # {::Google::Cloud::Retail::V2::UserInfo#user_id UserInfo.user_id} to the same
189
+ # fixed ID for different users. If you are trying to receive non-personalized
190
+ # recommendations (not recommended; this can negatively impact model
191
+ # performance), instead set
192
+ # {::Google::Cloud::Retail::V2::UserEvent#visitor_id UserEvent.visitor_id} to a
193
+ # random unique ID and leave
194
+ # {::Google::Cloud::Retail::V2::UserInfo#user_id UserInfo.user_id} unset.
185
195
  # @param page_size [::Integer]
186
196
  # Maximum number of results to return per page. Set this property
187
197
  # to the number of prediction results needed. If zero, the service will
@@ -256,7 +266,7 @@ module Google
256
266
  # * Each resource can have multiple labels, up to a maximum of 64.
257
267
  # * Each label must be a key-value pair.
258
268
  # * Keys have a minimum length of 1 character and a maximum length of 63
259
- # characters, and cannot be empty. Values can be empty, and have a maximum
269
+ # characters and cannot be empty. Values can be empty and have a maximum
260
270
  # length of 63 characters.
261
271
  # * Keys and values can contain only lowercase letters, numeric characters,
262
272
  # underscores, and dashes. All characters must use UTF-8 encoding, and
@@ -1,12 +1,13 @@
1
1
  # Generated by the protocol buffer compiler. DO NOT EDIT!
2
2
  # source: google/cloud/retail/v2/prediction_service.proto
3
3
 
4
+ require 'google/protobuf'
5
+
4
6
  require 'google/api/annotations_pb'
5
7
  require 'google/api/client_pb'
6
8
  require 'google/api/field_behavior_pb'
7
9
  require 'google/cloud/retail/v2/user_event_pb'
8
10
  require 'google/protobuf/struct_pb'
9
- require 'google/protobuf'
10
11
 
11
12
  Google::Protobuf::DescriptorPool.generated_pool.build do
12
13
  add_file("google/cloud/retail/v2/prediction_service.proto", :syntax => :proto3) do
@@ -1,6 +1,8 @@
1
1
  # Generated by the protocol buffer compiler. DO NOT EDIT!
2
2
  # source: google/cloud/retail/v2/product.proto
3
3
 
4
+ require 'google/protobuf'
5
+
4
6
  require 'google/api/field_behavior_pb'
5
7
  require 'google/api/resource_pb'
6
8
  require 'google/cloud/retail/v2/common_pb'
@@ -9,7 +11,6 @@ require 'google/protobuf/duration_pb'
9
11
  require 'google/protobuf/field_mask_pb'
10
12
  require 'google/protobuf/timestamp_pb'
11
13
  require 'google/protobuf/wrappers_pb'
12
- require 'google/protobuf'
13
14
 
14
15
  Google::Protobuf::DescriptorPool.generated_pool.build do
15
16
  add_file("google/cloud/retail/v2/product.proto", :syntax => :proto3) do
@@ -566,6 +566,11 @@ module Google
566
566
  #
567
567
  # If an unsupported or unknown field is provided, an INVALID_ARGUMENT error
568
568
  # is returned.
569
+ #
570
+ # The attribute key can be updated by setting the mask path as
571
+ # "attributes.$\\{key_name}". If a key name is present in the mask but not in
572
+ # the patching product from the request, this key will be deleted after the
573
+ # update.
569
574
  # @param allow_missing [::Boolean]
570
575
  # If set to true, and the {::Google::Cloud::Retail::V2::Product Product} is not
571
576
  # found, a new {::Google::Cloud::Retail::V2::Product Product} will be created. In
@@ -743,7 +748,7 @@ module Google
743
748
  ##
744
749
  # Bulk import of multiple {::Google::Cloud::Retail::V2::Product Product}s.
745
750
  #
746
- # Request processing may be synchronous. No partial updating is supported.
751
+ # Request processing may be synchronous.
747
752
  # Non-existing items are created.
748
753
  #
749
754
  # Note that it is possible for a subset of the
@@ -784,11 +789,18 @@ module Google
784
789
  # imported. Defaults to
785
790
  # {::Google::Cloud::Retail::V2::ImportProductsRequest::ReconciliationMode::INCREMENTAL ReconciliationMode.INCREMENTAL}.
786
791
  # @param notification_pubsub_topic [::String]
787
- # Pub/Sub topic for receiving notification. If this field is set,
792
+ # Full Pub/Sub topic name for receiving notification. If this field is set,
788
793
  # when the import is finished, a notification will be sent to
789
794
  # specified Pub/Sub topic. The message data will be JSON string of a
790
795
  # {::Google::Longrunning::Operation Operation}.
791
- # Format of the Pub/Sub topic is `projects/{project}/topics/{topic}`.
796
+ #
797
+ # Format of the Pub/Sub topic is `projects/{project}/topics/{topic}`. It has
798
+ # to be within the same project as
799
+ # {::Google::Cloud::Retail::V2::ImportProductsRequest#parent ImportProductsRequest.parent}.
800
+ # Make sure that both
801
+ # `cloud-retail-customer-data-access@system.gserviceaccount.com` and
802
+ # `service-<project number>@gcp-sa-retail.iam.gserviceaccount.com`
803
+ # have the `pubsub.topics.publish` IAM permission on the topic.
792
804
  #
793
805
  # Only supported when
794
806
  # {::Google::Cloud::Retail::V2::ImportProductsRequest#reconciliation_mode ImportProductsRequest.reconciliation_mode}
@@ -901,7 +913,7 @@ module Google
901
913
  #
902
914
  # Pre-existing inventory information can only be updated with
903
915
  # {::Google::Cloud::Retail::V2::ProductService::Client#set_inventory SetInventory},
904
- # {::Google::Cloud::Retail::V2::ProductService::Client#add_fulfillment_places AddFulfillmentPlaces},
916
+ # {::Google::Cloud::Retail::V2::ProductService::Client#add_fulfillment_places ProductService.AddFulfillmentPlaces},
905
917
  # and
906
918
  # {::Google::Cloud::Retail::V2::ProductService::Client#remove_fulfillment_places RemoveFulfillmentPlaces}.
907
919
  #
@@ -1286,7 +1298,8 @@ module Google
1286
1298
  # If this field is set to an invalid value other than these, an
1287
1299
  # INVALID_ARGUMENT error is returned.
1288
1300
  #
1289
- # This field directly corresponds to [Product.fulfillment_info.type][].
1301
+ # This field directly corresponds to
1302
+ # {::Google::Cloud::Retail::V2::FulfillmentInfo#type Product.fulfillment_info.type}.
1290
1303
  # @param place_ids [::Array<::String>]
1291
1304
  # Required. The IDs for this
1292
1305
  # {::Google::Cloud::Retail::V2::RemoveFulfillmentPlacesRequest#type type}, such as
@@ -1,6 +1,8 @@
1
1
  # Generated by the protocol buffer compiler. DO NOT EDIT!
2
2
  # source: google/cloud/retail/v2/product_service.proto
3
3
 
4
+ require 'google/protobuf'
5
+
4
6
  require 'google/api/annotations_pb'
5
7
  require 'google/api/client_pb'
6
8
  require 'google/api/field_behavior_pb'
@@ -12,7 +14,6 @@ require 'google/longrunning/operations_pb'
12
14
  require 'google/protobuf/empty_pb'
13
15
  require 'google/protobuf/field_mask_pb'
14
16
  require 'google/protobuf/timestamp_pb'
15
- require 'google/protobuf'
16
17
 
17
18
  Google::Protobuf::DescriptorPool.generated_pool.build do
18
19
  add_file("google/cloud/retail/v2/product_service.proto", :syntax => :proto3) do
@@ -46,7 +46,7 @@ module Google
46
46
  rpc :DeleteProduct, ::Google::Cloud::Retail::V2::DeleteProductRequest, ::Google::Protobuf::Empty
47
47
  # Bulk import of multiple [Product][google.cloud.retail.v2.Product]s.
48
48
  #
49
- # Request processing may be synchronous. No partial updating is supported.
49
+ # Request processing may be synchronous.
50
50
  # Non-existing items are created.
51
51
  #
52
52
  # Note that it is possible for a subset of the
@@ -86,7 +86,7 @@ module Google
86
86
  #
87
87
  # Pre-existing inventory information can only be updated with
88
88
  # [SetInventory][google.cloud.retail.v2.ProductService.SetInventory],
89
- # [AddFulfillmentPlaces][google.cloud.retail.v2.ProductService.AddFulfillmentPlaces],
89
+ # [ProductService.AddFulfillmentPlaces][google.cloud.retail.v2.ProductService.AddFulfillmentPlaces],
90
90
  # and
91
91
  # [RemoveFulfillmentPlaces][google.cloud.retail.v2.ProductService.RemoveFulfillmentPlaces].
92
92
  #
@@ -1,9 +1,10 @@
1
1
  # Generated by the protocol buffer compiler. DO NOT EDIT!
2
2
  # source: google/cloud/retail/v2/purge_config.proto
3
3
 
4
+ require 'google/protobuf'
5
+
4
6
  require 'google/api/field_behavior_pb'
5
7
  require 'google/api/resource_pb'
6
- require 'google/protobuf'
7
8
 
8
9
  Google::Protobuf::DescriptorPool.generated_pool.build do
9
10
  add_file("google/cloud/retail/v2/purge_config.proto", :syntax => :proto3) do
@@ -168,14 +168,14 @@ module Google
168
168
  # @param options [::Gapic::CallOptions, ::Hash]
169
169
  # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
170
170
  #
171
- # @overload search(placement: nil, branch: nil, query: nil, visitor_id: nil, user_info: nil, page_size: nil, page_token: nil, offset: nil, filter: nil, canonical_filter: nil, order_by: nil, facet_specs: nil, dynamic_facet_spec: nil, boost_spec: nil, query_expansion_spec: nil, variant_rollup_keys: nil, page_categories: nil, search_mode: nil, personalization_spec: nil)
171
+ # @overload search(placement: nil, branch: nil, query: nil, visitor_id: nil, user_info: nil, page_size: nil, page_token: nil, offset: nil, filter: nil, canonical_filter: nil, order_by: nil, facet_specs: nil, dynamic_facet_spec: nil, boost_spec: nil, query_expansion_spec: nil, variant_rollup_keys: nil, page_categories: nil, search_mode: nil, personalization_spec: nil, labels: nil, spell_correction_spec: nil)
172
172
  # Pass arguments to `search` via keyword arguments. Note that at
173
173
  # least one keyword argument is required. To specify no parameters, or to keep all
174
174
  # the default parameter values, pass an empty Hash as a request object (see above).
175
175
  #
176
176
  # @param placement [::String]
177
177
  # Required. The resource name of the search engine placement, such as
178
- # `projects/*/locations/global/catalogs/default_catalog/placements/default_search`
178
+ # `projects/*/locations/global/catalogs/default_catalog/placements/default_search`.
179
179
  # This field is used to identify the serving configuration name and the set
180
180
  # of models that will be used to make the search.
181
181
  # @param branch [::String]
@@ -186,6 +186,11 @@ module Google
186
186
  # products under the default branch.
187
187
  # @param query [::String]
188
188
  # Raw search query.
189
+ #
190
+ # If this field is empty, the request is considered a category browsing
191
+ # request and returned results are based on
192
+ # {::Google::Cloud::Retail::V2::SearchRequest#filter filter} and
193
+ # {::Google::Cloud::Retail::V2::SearchRequest#page_categories page_categories}.
189
194
  # @param visitor_id [::String]
190
195
  # Required. A unique identifier for tracking visitors. For example, this
191
196
  # could be implemented with an HTTP cookie, which should be able to uniquely
@@ -268,10 +273,10 @@ module Google
268
273
  # [user guide](https://cloud.google.com/retail/docs/boosting).
269
274
  #
270
275
  # Notice that if both [ServingConfig.boost_control_ids][] and
271
- # [SearchRequest.boost_spec] are set, the boost conditions from both places
272
- # are evaluated. If a search request matches multiple boost conditions,
273
- # the final boost score is equal to the sum of the boost scores from all
274
- # matched boost conditions.
276
+ # {::Google::Cloud::Retail::V2::SearchRequest#boost_spec SearchRequest.boost_spec}
277
+ # are set, the boost conditions from both places are evaluated. If a search
278
+ # request matches multiple boost conditions, the final boost score is equal
279
+ # to the sum of the boost scores from all matched boost conditions.
275
280
  # @param query_expansion_spec [::Google::Cloud::Retail::V2::SearchRequest::QueryExpansionSpec, ::Hash]
276
281
  # The query expansion specification that specifies the conditions under which
277
282
  # query expansion will occur. See more details at this [user
@@ -304,7 +309,8 @@ module Google
304
309
  # * inventory(place_id,price)
305
310
  # * inventory(place_id,original_price)
306
311
  # * inventory(place_id,attributes.key), where key is any key in the
307
- # [Product.inventories.attributes][] map.
312
+ # {::Google::Cloud::Retail::V2::LocalInventory#attributes Product.local_inventories.attributes}
313
+ # map.
308
314
  # * attributes.key, where key is any key in the
309
315
  # {::Google::Cloud::Retail::V2::Product#attributes Product.attributes} map.
310
316
  # * pickupInStore.id, where id is any
@@ -364,6 +370,27 @@ module Google
364
370
  # request triggers both product search and faceted search.
365
371
  # @param personalization_spec [::Google::Cloud::Retail::V2::SearchRequest::PersonalizationSpec, ::Hash]
366
372
  # The specification for personalization.
373
+ # @param labels [::Hash{::String => ::String}]
374
+ # The labels applied to a resource must meet the following requirements:
375
+ #
376
+ # * Each resource can have multiple labels, up to a maximum of 64.
377
+ # * Each label must be a key-value pair.
378
+ # * Keys have a minimum length of 1 character and a maximum length of 63
379
+ # characters and cannot be empty. Values can be empty and have a maximum
380
+ # length of 63 characters.
381
+ # * Keys and values can contain only lowercase letters, numeric characters,
382
+ # underscores, and dashes. All characters must use UTF-8 encoding, and
383
+ # international characters are allowed.
384
+ # * The key portion of a label must be unique. However, you can use the same
385
+ # key with multiple resources.
386
+ # * Keys must start with a lowercase letter or international character.
387
+ #
388
+ # See [Google Cloud
389
+ # Document](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements)
390
+ # for more details.
391
+ # @param spell_correction_spec [::Google::Cloud::Retail::V2::SearchRequest::SpellCorrectionSpec, ::Hash]
392
+ # The spell correction specification that specifies the mode under
393
+ # which spell correction will take effect.
367
394
  #
368
395
  # @yield [response, operation] Access the result along with the RPC operation
369
396
  # @yieldparam response [::Gapic::PagedEnumerable<::Google::Cloud::Retail::V2::SearchResponse::SearchResult>]
@@ -1,6 +1,8 @@
1
1
  # Generated by the protocol buffer compiler. DO NOT EDIT!
2
2
  # source: google/cloud/retail/v2/search_service.proto
3
3
 
4
+ require 'google/protobuf'
5
+
4
6
  require 'google/api/annotations_pb'
5
7
  require 'google/api/client_pb'
6
8
  require 'google/api/field_behavior_pb'
@@ -9,7 +11,6 @@ require 'google/cloud/retail/v2/common_pb'
9
11
  require 'google/cloud/retail/v2/product_pb'
10
12
  require 'google/protobuf/field_mask_pb'
11
13
  require 'google/protobuf/struct_pb'
12
- require 'google/protobuf'
13
14
 
14
15
  Google::Protobuf::DescriptorPool.generated_pool.build do
15
16
  add_file("google/cloud/retail/v2/search_service.proto", :syntax => :proto3) do
@@ -33,6 +34,8 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
33
34
  repeated :page_categories, :string, 23
34
35
  optional :search_mode, :enum, 31, "google.cloud.retail.v2.SearchRequest.SearchMode"
35
36
  optional :personalization_spec, :message, 32, "google.cloud.retail.v2.SearchRequest.PersonalizationSpec"
37
+ map :labels, :string, :string, 34
38
+ proto3_optional :spell_correction_spec, :message, 35, "google.cloud.retail.v2.SearchRequest.SpellCorrectionSpec"
36
39
  end
37
40
  add_message "google.cloud.retail.v2.SearchRequest.FacetSpec" do
38
41
  optional :facet_key, :message, 1, "google.cloud.retail.v2.SearchRequest.FacetSpec.FacetKey"
@@ -82,6 +85,14 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
82
85
  value :AUTO, 1
83
86
  value :DISABLED, 2
84
87
  end
88
+ add_message "google.cloud.retail.v2.SearchRequest.SpellCorrectionSpec" do
89
+ optional :mode, :enum, 1, "google.cloud.retail.v2.SearchRequest.SpellCorrectionSpec.Mode"
90
+ end
91
+ add_enum "google.cloud.retail.v2.SearchRequest.SpellCorrectionSpec.Mode" do
92
+ value :MODE_UNSPECIFIED, 0
93
+ value :SUGGESTION_ONLY, 1
94
+ value :AUTO, 2
95
+ end
85
96
  add_enum "google.cloud.retail.v2.SearchRequest.SearchMode" do
86
97
  value :SEARCH_MODE_UNSPECIFIED, 0
87
98
  value :PRODUCT_SEARCH_ONLY, 1
@@ -140,6 +151,8 @@ module Google
140
151
  SearchRequest::QueryExpansionSpec::Condition = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.retail.v2.SearchRequest.QueryExpansionSpec.Condition").enummodule
141
152
  SearchRequest::PersonalizationSpec = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.retail.v2.SearchRequest.PersonalizationSpec").msgclass
142
153
  SearchRequest::PersonalizationSpec::Mode = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.retail.v2.SearchRequest.PersonalizationSpec.Mode").enummodule
154
+ SearchRequest::SpellCorrectionSpec = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.retail.v2.SearchRequest.SpellCorrectionSpec").msgclass
155
+ SearchRequest::SpellCorrectionSpec::Mode = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.retail.v2.SearchRequest.SpellCorrectionSpec.Mode").enummodule
143
156
  SearchRequest::SearchMode = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.retail.v2.SearchRequest.SearchMode").enummodule
144
157
  SearchResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.retail.v2.SearchResponse").msgclass
145
158
  SearchResponse::SearchResult = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.retail.v2.SearchResponse.SearchResult").msgclass
@@ -1,12 +1,13 @@
1
1
  # Generated by the protocol buffer compiler. DO NOT EDIT!
2
2
  # source: google/cloud/retail/v2/user_event.proto
3
3
 
4
+ require 'google/protobuf'
5
+
4
6
  require 'google/api/field_behavior_pb'
5
7
  require 'google/cloud/retail/v2/common_pb'
6
8
  require 'google/cloud/retail/v2/product_pb'
7
9
  require 'google/protobuf/timestamp_pb'
8
10
  require 'google/protobuf/wrappers_pb'
9
- require 'google/protobuf'
10
11
 
11
12
  Google::Protobuf::DescriptorPool.generated_pool.build do
12
13
  add_file("google/cloud/retail/v2/user_event.proto", :syntax => :proto3) do
@@ -1,6 +1,8 @@
1
1
  # Generated by the protocol buffer compiler. DO NOT EDIT!
2
2
  # source: google/cloud/retail/v2/user_event_service.proto
3
3
 
4
+ require 'google/protobuf'
5
+
4
6
  require 'google/api/annotations_pb'
5
7
  require 'google/api/client_pb'
6
8
  require 'google/api/field_behavior_pb'
@@ -10,7 +12,6 @@ require 'google/cloud/retail/v2/import_config_pb'
10
12
  require 'google/cloud/retail/v2/purge_config_pb'
11
13
  require 'google/cloud/retail/v2/user_event_pb'
12
14
  require 'google/longrunning/operations_pb'
13
- require 'google/protobuf'
14
15
 
15
16
  Google::Protobuf::DescriptorPool.generated_pool.build do
16
17
  add_file("google/cloud/retail/v2/user_event_service.proto", :syntax => :proto3) do
@@ -21,7 +21,7 @@ module Google
21
21
  module Cloud
22
22
  module Retail
23
23
  module V2
24
- VERSION = "0.7.0"
24
+ VERSION = "0.8.0"
25
25
  end
26
26
  end
27
27
  end
@@ -34,10 +34,10 @@ module Google
34
34
  # default to
35
35
  # {::Google::Cloud::Retail::V2::Product::Type::PRIMARY Product.Type.PRIMARY} if
36
36
  # unset.
37
- # * `variant`: You can only ingest
38
- # {::Google::Cloud::Retail::V2::Product::Type::VARIANT Product.Type.VARIANT}
39
- # {::Google::Cloud::Retail::V2::Product Product}s.
40
- # This means
37
+ # * `variant` (incompatible with Retail Search): You can only
38
+ # ingest
39
+ # {::Google::Cloud::Retail::V2::Product::Type::VARIANT Product.Type.VARIANT}
40
+ # {::Google::Cloud::Retail::V2::Product Product}s. This means
41
41
  # {::Google::Cloud::Retail::V2::Product#primary_product_id Product.primary_product_id}
42
42
  # cannot be empty.
43
43
  #
@@ -48,8 +48,8 @@ module Google
48
48
  # {::Google::Cloud::Retail::V2::ProductLevelConfig#merchant_center_product_id_field merchant_center_product_id_field}
49
49
  # is `itemGroupId`, an INVALID_ARGUMENT error is returned.
50
50
  #
51
- # See [Using product
52
- # levels](https://cloud.google.com/retail/recommendations-ai/docs/catalog#product-levels)
51
+ # See [Product
52
+ # levels](https://cloud.google.com/retail/docs/catalog#product-levels)
53
53
  # for more details.
54
54
  # @!attribute [rw] merchant_center_product_id_field
55
55
  # @return [::String]
@@ -70,8 +70,8 @@ module Google
70
70
  # {::Google::Cloud::Retail::V2::ProductLevelConfig#ingestion_product_type ingestion_product_type}
71
71
  # is `variant`, an INVALID_ARGUMENT error is returned.
72
72
  #
73
- # See [Using product
74
- # levels](https://cloud.google.com/retail/recommendations-ai/docs/catalog#product-levels)
73
+ # See [Product
74
+ # levels](https://cloud.google.com/retail/docs/catalog#product-levels)
75
75
  # for more details.
76
76
  class ProductLevelConfig
77
77
  include ::Google::Protobuf::MessageExts
@@ -115,11 +115,13 @@ module Google
115
115
  # Otherwise, an INVALID_ARGUMENT error is returned.
116
116
  # @!attribute [rw] searchable
117
117
  # @return [::Boolean]
118
- # This field will only be used when
118
+ # This field is normally ignored unless
119
119
  # [AttributesConfig.attribute_config_level][] of the
120
- # {::Google::Cloud::Retail::V2::Catalog Catalog} is
121
- # 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG', if true, custom attribute values are
122
- # searchable by text queries in
120
+ # {::Google::Cloud::Retail::V2::Catalog Catalog} is set to the deprecated
121
+ # 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG' mode. For information about product-level
122
+ # attribute configuration, see [Configuration
123
+ # modes](https://cloud.google.com/retail/docs/attribute-config#config-modes).
124
+ # If true, custom attribute values are searchable by text queries in
123
125
  # {::Google::Cloud::Retail::V2::SearchService::Client#search SearchService.Search}.
124
126
  #
125
127
  # This field is ignored in a {::Google::Cloud::Retail::V2::UserEvent UserEvent}.
@@ -128,11 +130,14 @@ module Google
128
130
  # set. Otherwise, a INVALID_ARGUMENT error is returned.
129
131
  # @!attribute [rw] indexable
130
132
  # @return [::Boolean]
131
- # This field will only be used when
133
+ # This field is normally ignored unless
132
134
  # [AttributesConfig.attribute_config_level][] of the
133
- # {::Google::Cloud::Retail::V2::Catalog Catalog} is
134
- # 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG', if true, custom attribute values are
135
- # indexed, so that it can be filtered, faceted or boosted in
135
+ # {::Google::Cloud::Retail::V2::Catalog Catalog} is set to the deprecated
136
+ # 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG' mode. For information about product-level
137
+ # attribute configuration, see [Configuration
138
+ # modes](https://cloud.google.com/retail/docs/attribute-config#config-modes).
139
+ # If true, custom attribute values are indexed, so that they can be filtered,
140
+ # faceted or boosted in
136
141
  # {::Google::Cloud::Retail::V2::SearchService::Client#search SearchService.Search}.
137
142
  #
138
143
  # This field is ignored in a {::Google::Cloud::Retail::V2::UserEvent UserEvent}.
@@ -260,7 +265,10 @@ module Google
260
265
  # @!attribute [rw] original_price
261
266
  # @return [::Float]
262
267
  # Price of the product without any discount. If zero, by default set to be
263
- # the {::Google::Cloud::Retail::V2::PriceInfo#price price}.
268
+ # the {::Google::Cloud::Retail::V2::PriceInfo#price price}. If set,
269
+ # {::Google::Cloud::Retail::V2::PriceInfo#original_price original_price} should be
270
+ # greater than or equal to {::Google::Cloud::Retail::V2::PriceInfo#price price},
271
+ # otherwise an INVALID_ARGUMENT error is thrown.
264
272
  # @!attribute [rw] cost
265
273
  # @return [::Float]
266
274
  # The costs associated with the sale of a particular product. Used for gross
@@ -373,10 +381,14 @@ module Google
373
381
  # @!attribute [rw] user_id
374
382
  # @return [::String]
375
383
  # Highly recommended for logged-in users. Unique identifier for logged-in
376
- # user, such as a user name.
384
+ # user, such as a user name. Don't set for anonymous users.
377
385
  #
378
386
  # Always use a hashed value for this ID.
379
387
  #
388
+ # Don't set the field to the same fixed ID for different users. This mixes
389
+ # the event history of those users together, which results in degraded
390
+ # model quality.
391
+ #
380
392
  # The field must be a UTF-8 encoded string with a length limit of 128
381
393
  # characters. Otherwise, an INVALID_ARGUMENT error is returned.
382
394
  # @!attribute [rw] ip_address
@@ -78,9 +78,9 @@ module Google
78
78
  #
79
79
  # * user-data
80
80
  #
81
- # * cloud-retail
82
- # This option requires additional allowlisting. Before using cloud-retail,
83
- # contact Cloud Retail support team first.
81
+ # * cloud-retail:
82
+ # This option requires enabling auto-learning function first. See
83
+ # [guidelines](https://cloud.google.com/retail/docs/completion-overview#generated-completion-dataset).
84
84
  # @!attribute [rw] max_suggestions
85
85
  # @return [::Integer]
86
86
  # Completion max suggestions. If left unset or set to 0, then will fallback
@@ -114,11 +114,15 @@ module Google
114
114
  # {::Google::Cloud::Retail::V2::CompleteQueryRequest#visitor_id CompleteQueryRequest.visitor_id}
115
115
  # field is set and {::Google::Cloud::Retail::V2::UserEvent UserEvent} is imported.
116
116
  # The recent searches satisfy the follow rules:
117
+ #
117
118
  # * They are ordered from latest to oldest.
119
+ #
118
120
  # * They are matched with
119
121
  # {::Google::Cloud::Retail::V2::CompleteQueryRequest#query CompleteQueryRequest.query}
120
122
  # case insensitively.
123
+ #
121
124
  # * They are transformed to lower cases.
125
+ #
122
126
  # * They are UTF-8 safe.
123
127
  #
124
128
  # Recent searches are deduplicated. More recent searches will be reserved
@@ -134,10 +138,13 @@ module Google
134
138
  # @!attribute [rw] attributes
135
139
  # @return [::Google::Protobuf::Map{::String => ::Google::Cloud::Retail::V2::CustomAttribute}]
136
140
  # Custom attributes for the suggestion term.
141
+ #
137
142
  # * For "user-data", the attributes are additional custom attributes
138
143
  # ingested through BigQuery.
144
+ #
139
145
  # * For "cloud-retail", the attributes are product attributes generated
140
- # by Cloud Retail.
146
+ # by Cloud Retail. This is an experimental feature. Contact Retail Search
147
+ # support team if you are interested in enabling it.
141
148
  class CompletionResult
142
149
  include ::Google::Protobuf::MessageExts
143
150
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -184,11 +184,18 @@ module Google
184
184
  # {::Google::Cloud::Retail::V2::ImportProductsRequest::ReconciliationMode::INCREMENTAL ReconciliationMode.INCREMENTAL}.
185
185
  # @!attribute [rw] notification_pubsub_topic
186
186
  # @return [::String]
187
- # Pub/Sub topic for receiving notification. If this field is set,
187
+ # Full Pub/Sub topic name for receiving notification. If this field is set,
188
188
  # when the import is finished, a notification will be sent to
189
189
  # specified Pub/Sub topic. The message data will be JSON string of a
190
190
  # {::Google::Longrunning::Operation Operation}.
191
- # Format of the Pub/Sub topic is `projects/{project}/topics/{topic}`.
191
+ #
192
+ # Format of the Pub/Sub topic is `projects/{project}/topics/{topic}`. It has
193
+ # to be within the same project as
194
+ # {::Google::Cloud::Retail::V2::ImportProductsRequest#parent ImportProductsRequest.parent}.
195
+ # Make sure that both
196
+ # `cloud-retail-customer-data-access@system.gserviceaccount.com` and
197
+ # `service-<project number>@gcp-sa-retail.iam.gserviceaccount.com`
198
+ # have the `pubsub.topics.publish` IAM permission on the topic.
192
199
  #
193
200
  # Only supported when
194
201
  # {::Google::Cloud::Retail::V2::ImportProductsRequest#reconciliation_mode ImportProductsRequest.reconciliation_mode}
@@ -39,6 +39,16 @@ module Google
39
39
  # they took to trigger the predict request. Note that this user event detail
40
40
  # won't be ingested to userEvent logs. Thus, a separate userEvent write
41
41
  # request is required for event logging.
42
+ #
43
+ # Don't set
44
+ # {::Google::Cloud::Retail::V2::UserEvent#visitor_id UserEvent.visitor_id} or
45
+ # {::Google::Cloud::Retail::V2::UserInfo#user_id UserInfo.user_id} to the same
46
+ # fixed ID for different users. If you are trying to receive non-personalized
47
+ # recommendations (not recommended; this can negatively impact model
48
+ # performance), instead set
49
+ # {::Google::Cloud::Retail::V2::UserEvent#visitor_id UserEvent.visitor_id} to a
50
+ # random unique ID and leave
51
+ # {::Google::Cloud::Retail::V2::UserInfo#user_id UserInfo.user_id} unset.
42
52
  # @!attribute [rw] page_size
43
53
  # @return [::Integer]
44
54
  # Maximum number of results to return per page. Set this property
@@ -119,7 +129,7 @@ module Google
119
129
  # * Each resource can have multiple labels, up to a maximum of 64.
120
130
  # * Each label must be a key-value pair.
121
131
  # * Keys have a minimum length of 1 character and a maximum length of 63
122
- # characters, and cannot be empty. Values can be empty, and have a maximum
132
+ # characters and cannot be empty. Values can be empty and have a maximum
123
133
  # length of 63 characters.
124
134
  # * Keys and values can contain only lowercase letters, numeric characters,
125
135
  # underscores, and dashes. All characters must use UTF-8 encoding, and
@@ -185,9 +195,9 @@ module Google
185
195
  #
186
196
  # Possible values:
187
197
  #
188
- # * `product`: JSON representation of the product. Will be set if
198
+ # * `product`: JSON representation of the product. Is set if
189
199
  # `returnProduct` is set to true in `PredictRequest.params`.
190
- # * `score`: Prediction score in double value. Will be set if
200
+ # * `score`: Prediction score in double value. Is set if
191
201
  # `returnScore` is set to true in `PredictRequest.params`.
192
202
  class PredictionResult
193
203
  include ::Google::Protobuf::MessageExts
@@ -456,11 +456,11 @@ module Google
456
456
  # * {::Google::Cloud::Retail::V2::Product#name name}
457
457
  # * {::Google::Cloud::Retail::V2::Product#color_info color_info}
458
458
  #
459
- # Maximum number of paths is 30. Otherwise, an INVALID_ARGUMENT error is
459
+ # The maximum number of paths is 30. Otherwise, an INVALID_ARGUMENT error is
460
460
  # returned.
461
461
  #
462
462
  # Note: Returning more fields in
463
- # {::Google::Cloud::Retail::V2::SearchResponse SearchResponse} may increase
463
+ # {::Google::Cloud::Retail::V2::SearchResponse SearchResponse} can increase
464
464
  # response payload size and serving latency.
465
465
  # @!attribute [r] variants
466
466
  # @return [::Array<::Google::Cloud::Retail::V2::Product>]
@@ -91,6 +91,11 @@ module Google
91
91
  #
92
92
  # If an unsupported or unknown field is provided, an INVALID_ARGUMENT error
93
93
  # is returned.
94
+ #
95
+ # The attribute key can be updated by setting the mask path as
96
+ # "attributes.$\\{key_name}". If a key name is present in the mask but not in
97
+ # the patching product from the request, this key will be deleted after the
98
+ # update.
94
99
  # @!attribute [rw] allow_missing
95
100
  # @return [::Boolean]
96
101
  # If set to true, and the {::Google::Cloud::Retail::V2::Product Product} is not
@@ -332,7 +337,9 @@ module Google
332
337
  extend ::Google::Protobuf::MessageExts::ClassMethods
333
338
  end
334
339
 
335
- # Request message for [AddFulfillmentPlaces][] method.
340
+ # Request message for
341
+ # {::Google::Cloud::Retail::V2::ProductService::Client#add_fulfillment_places ProductService.AddFulfillmentPlaces}
342
+ # method.
336
343
  # @!attribute [rw] product
337
344
  # @return [::String]
338
345
  # Required. Full resource name of {::Google::Cloud::Retail::V2::Product Product},
@@ -400,21 +407,25 @@ module Google
400
407
 
401
408
  # Metadata related to the progress of the AddFulfillmentPlaces operation.
402
409
  # Currently empty because there is no meaningful metadata populated from the
403
- # [AddFulfillmentPlaces][] method.
410
+ # {::Google::Cloud::Retail::V2::ProductService::Client#add_fulfillment_places ProductService.AddFulfillmentPlaces}
411
+ # method.
404
412
  class AddFulfillmentPlacesMetadata
405
413
  include ::Google::Protobuf::MessageExts
406
414
  extend ::Google::Protobuf::MessageExts::ClassMethods
407
415
  end
408
416
 
409
417
  # Response of the AddFulfillmentPlacesRequest. Currently empty because
410
- # there is no meaningful response populated from the [AddFulfillmentPlaces][]
418
+ # there is no meaningful response populated from the
419
+ # {::Google::Cloud::Retail::V2::ProductService::Client#add_fulfillment_places ProductService.AddFulfillmentPlaces}
411
420
  # method.
412
421
  class AddFulfillmentPlacesResponse
413
422
  include ::Google::Protobuf::MessageExts
414
423
  extend ::Google::Protobuf::MessageExts::ClassMethods
415
424
  end
416
425
 
417
- # Request message for [AddLocalInventories][] method.
426
+ # Request message for
427
+ # {::Google::Cloud::Retail::V2::ProductService::Client#add_local_inventories ProductService.AddLocalInventories}
428
+ # method.
418
429
  # @!attribute [rw] product
419
430
  # @return [::String]
420
431
  # Required. Full resource name of {::Google::Cloud::Retail::V2::Product Product},
@@ -465,14 +476,18 @@ module Google
465
476
 
466
477
  # Metadata related to the progress of the AddLocalInventories operation.
467
478
  # Currently empty because there is no meaningful metadata populated from the
468
- # [AddLocalInventories][] method.
479
+ # {::Google::Cloud::Retail::V2::ProductService::Client#add_local_inventories ProductService.AddLocalInventories}
480
+ # method.
469
481
  class AddLocalInventoriesMetadata
470
482
  include ::Google::Protobuf::MessageExts
471
483
  extend ::Google::Protobuf::MessageExts::ClassMethods
472
484
  end
473
485
 
474
- # Response of the [AddLocalInventories][] API. Currently empty because
475
- # there is no meaningful response populated from the [AddLocalInventories][]
486
+ # Response of the
487
+ # {::Google::Cloud::Retail::V2::ProductService::Client#add_local_inventories ProductService.AddLocalInventories}
488
+ # API. Currently empty because there is no meaningful response populated from
489
+ # the
490
+ # {::Google::Cloud::Retail::V2::ProductService::Client#add_local_inventories ProductService.AddLocalInventories}
476
491
  # method.
477
492
  class AddLocalInventoriesResponse
478
493
  include ::Google::Protobuf::MessageExts
@@ -557,7 +572,8 @@ module Google
557
572
  # If this field is set to an invalid value other than these, an
558
573
  # INVALID_ARGUMENT error is returned.
559
574
  #
560
- # This field directly corresponds to [Product.fulfillment_info.type][].
575
+ # This field directly corresponds to
576
+ # {::Google::Cloud::Retail::V2::FulfillmentInfo#type Product.fulfillment_info.type}.
561
577
  # @!attribute [rw] place_ids
562
578
  # @return [::Array<::String>]
563
579
  # Required. The IDs for this
@@ -26,7 +26,7 @@ module Google
26
26
  # @!attribute [rw] placement
27
27
  # @return [::String]
28
28
  # Required. The resource name of the search engine placement, such as
29
- # `projects/*/locations/global/catalogs/default_catalog/placements/default_search`
29
+ # `projects/*/locations/global/catalogs/default_catalog/placements/default_search`.
30
30
  # This field is used to identify the serving configuration name and the set
31
31
  # of models that will be used to make the search.
32
32
  # @!attribute [rw] branch
@@ -39,6 +39,11 @@ module Google
39
39
  # @!attribute [rw] query
40
40
  # @return [::String]
41
41
  # Raw search query.
42
+ #
43
+ # If this field is empty, the request is considered a category browsing
44
+ # request and returned results are based on
45
+ # {::Google::Cloud::Retail::V2::SearchRequest#filter filter} and
46
+ # {::Google::Cloud::Retail::V2::SearchRequest#page_categories page_categories}.
42
47
  # @!attribute [rw] visitor_id
43
48
  # @return [::String]
44
49
  # Required. A unique identifier for tracking visitors. For example, this
@@ -132,10 +137,10 @@ module Google
132
137
  # [user guide](https://cloud.google.com/retail/docs/boosting).
133
138
  #
134
139
  # Notice that if both [ServingConfig.boost_control_ids][] and
135
- # [SearchRequest.boost_spec] are set, the boost conditions from both places
136
- # are evaluated. If a search request matches multiple boost conditions,
137
- # the final boost score is equal to the sum of the boost scores from all
138
- # matched boost conditions.
140
+ # {::Google::Cloud::Retail::V2::SearchRequest#boost_spec SearchRequest.boost_spec}
141
+ # are set, the boost conditions from both places are evaluated. If a search
142
+ # request matches multiple boost conditions, the final boost score is equal
143
+ # to the sum of the boost scores from all matched boost conditions.
139
144
  # @!attribute [rw] query_expansion_spec
140
145
  # @return [::Google::Cloud::Retail::V2::SearchRequest::QueryExpansionSpec]
141
146
  # The query expansion specification that specifies the conditions under which
@@ -170,7 +175,8 @@ module Google
170
175
  # * inventory(place_id,price)
171
176
  # * inventory(place_id,original_price)
172
177
  # * inventory(place_id,attributes.key), where key is any key in the
173
- # [Product.inventories.attributes][] map.
178
+ # {::Google::Cloud::Retail::V2::LocalInventory#attributes Product.local_inventories.attributes}
179
+ # map.
174
180
  # * attributes.key, where key is any key in the
175
181
  # {::Google::Cloud::Retail::V2::Product#attributes Product.attributes} map.
176
182
  # * pickupInStore.id, where id is any
@@ -233,6 +239,29 @@ module Google
233
239
  # @!attribute [rw] personalization_spec
234
240
  # @return [::Google::Cloud::Retail::V2::SearchRequest::PersonalizationSpec]
235
241
  # The specification for personalization.
242
+ # @!attribute [rw] labels
243
+ # @return [::Google::Protobuf::Map{::String => ::String}]
244
+ # The labels applied to a resource must meet the following requirements:
245
+ #
246
+ # * Each resource can have multiple labels, up to a maximum of 64.
247
+ # * Each label must be a key-value pair.
248
+ # * Keys have a minimum length of 1 character and a maximum length of 63
249
+ # characters and cannot be empty. Values can be empty and have a maximum
250
+ # length of 63 characters.
251
+ # * Keys and values can contain only lowercase letters, numeric characters,
252
+ # underscores, and dashes. All characters must use UTF-8 encoding, and
253
+ # international characters are allowed.
254
+ # * The key portion of a label must be unique. However, you can use the same
255
+ # key with multiple resources.
256
+ # * Keys must start with a lowercase letter or international character.
257
+ #
258
+ # See [Google Cloud
259
+ # Document](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements)
260
+ # for more details.
261
+ # @!attribute [rw] spell_correction_spec
262
+ # @return [::Google::Cloud::Retail::V2::SearchRequest::SpellCorrectionSpec]
263
+ # The spell correction specification that specifies the mode under
264
+ # which spell correction will take effect.
236
265
  class SearchRequest
237
266
  include ::Google::Protobuf::MessageExts
238
267
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -252,19 +281,29 @@ module Google
252
281
  # @return [::Array<::String>]
253
282
  # List of keys to exclude when faceting.
254
283
  #
284
+ #
255
285
  # By default,
256
286
  # {::Google::Cloud::Retail::V2::SearchRequest::FacetSpec::FacetKey#key FacetKey.key}
257
287
  # is not excluded from the filter unless it is listed in this field.
258
288
  #
259
- # For example, suppose there are 100 products with color facet "Red" and
260
- # 200 products with color facet "Blue". A query containing the filter
261
- # "colorFamilies:ANY("Red")" and have "colorFamilies" as
289
+ # Listing a facet key in this field allows its values to appear as facet
290
+ # results, even when they are filtered out of search results. Using this
291
+ # field does not affect what search results are returned.
292
+ #
293
+ # For example, suppose there are 100 products with the color facet "Red"
294
+ # and 200 products with the color facet "Blue". A query containing the
295
+ # filter "colorFamilies:ANY("Red")" and having "colorFamilies" as
262
296
  # {::Google::Cloud::Retail::V2::SearchRequest::FacetSpec::FacetKey#key FacetKey.key}
263
- # will by default return the "Red" with count 100.
297
+ # would by default return only "Red" products in the search results, and
298
+ # also return "Red" with count 100 as the only color facet. Although there
299
+ # are also blue products available, "Blue" would not be shown as an
300
+ # available facet value.
264
301
  #
265
- # If this field contains "colorFamilies", then the query returns both the
266
- # "Red" with count 100 and "Blue" with count 200, because the
267
- # "colorFamilies" key is now excluded from the filter.
302
+ # If "colorFamilies" is listed in "excludedFilterKeys", then the query
303
+ # returns the facet values "Red" with count 100 and "Blue" with count
304
+ # 200, because the "colorFamilies" key is now excluded from the filter.
305
+ # Because this field doesn't affect search results, the search results
306
+ # are still correctly filtered to return only "Red" products.
268
307
  #
269
308
  # A maximum of 100 values are allowed. Otherwise, an INVALID_ARGUMENT error
270
309
  # is returned.
@@ -356,8 +395,8 @@ module Google
356
395
  # Only get facet for the given restricted values. For example, when using
357
396
  # "pickupInStore" as key and set restricted values to
358
397
  # ["store123", "store456"], only facets for "store123" and "store456" are
359
- # returned. Only supported on textual fields and fulfillments.
360
- # Maximum is 20.
398
+ # returned. Only supported on predefined textual fields, custom textual
399
+ # attributes and fulfillments. Maximum is 20.
361
400
  #
362
401
  # Must be set for the fulfillment facet keys:
363
402
  #
@@ -470,7 +509,7 @@ module Google
470
509
  # Condition boost specifications. If a product matches multiple conditions
471
510
  # in the specifictions, boost scores from these specifications are all
472
511
  # applied and combined in a non-linear way. Maximum number of
473
- # specifications is 10.
512
+ # specifications is 20.
474
513
  # @!attribute [rw] skip_boost_spec_validation
475
514
  # @return [::Boolean]
476
515
  # Whether to skip boostspec validation. If this field is set to true,
@@ -577,6 +616,43 @@ module Google
577
616
  end
578
617
  end
579
618
 
619
+ # The specification for query spell correction.
620
+ # @!attribute [rw] mode
621
+ # @return [::Google::Cloud::Retail::V2::SearchRequest::SpellCorrectionSpec::Mode]
622
+ # The mode under which spell correction should take effect to
623
+ # replace the original search query. Default to
624
+ # {::Google::Cloud::Retail::V2::SearchRequest::SpellCorrectionSpec::Mode::AUTO Mode.AUTO}.
625
+ class SpellCorrectionSpec
626
+ include ::Google::Protobuf::MessageExts
627
+ extend ::Google::Protobuf::MessageExts::ClassMethods
628
+
629
+ # Enum describing under which mode spell correction should occur.
630
+ module Mode
631
+ # Unspecified spell correction mode. This defaults to
632
+ # {::Google::Cloud::Retail::V2::SearchRequest::SpellCorrectionSpec::Mode::AUTO Mode.AUTO}.
633
+ MODE_UNSPECIFIED = 0
634
+
635
+ # Google Retail Search will try to find a spell suggestion if there
636
+ # is any and put in the
637
+ # {::Google::Cloud::Retail::V2::SearchResponse#corrected_query SearchResponse.corrected_query}.
638
+ # The spell suggestion will not be used as the search query.
639
+ SUGGESTION_ONLY = 1
640
+
641
+ # Automatic spell correction built by Google Retail Search. Search will
642
+ # be based on the corrected query if found.
643
+ AUTO = 2
644
+ end
645
+ end
646
+
647
+ # @!attribute [rw] key
648
+ # @return [::String]
649
+ # @!attribute [rw] value
650
+ # @return [::String]
651
+ class LabelsEntry
652
+ include ::Google::Protobuf::MessageExts
653
+ extend ::Google::Protobuf::MessageExts::ClassMethods
654
+ end
655
+
580
656
  # The search mode of each search request.
581
657
  module SearchMode
582
658
  # Default value. In this case both product search and faceted search will
@@ -598,7 +674,9 @@ module Google
598
674
  # Only faceted search will be performed. The product search will be
599
675
  # disabled.
600
676
  #
601
- # When in this mode, one or both of [SearchRequest.facet_spec][] and
677
+ # When in this mode, one or both of
678
+ # {::Google::Cloud::Retail::V2::SearchRequest#facet_specs SearchRequest.facet_specs}
679
+ # and
602
680
  # {::Google::Cloud::Retail::V2::SearchRequest#dynamic_facet_spec SearchRequest.dynamic_facet_spec}
603
681
  # should be set. Otherwise, an INVALID_ARGUMENT error is returned. Only
604
682
  # [SearchResponse.Facet] will be returned. [SearchResponse.SearchResult]
@@ -624,7 +702,9 @@ module Google
624
702
  # matches.
625
703
  # @!attribute [rw] corrected_query
626
704
  # @return [::String]
627
- # If spell correction applies, the corrected query. Otherwise, empty.
705
+ # Contains the spell corrected query, if found. If the spell correction type
706
+ # is AUTOMATIC, then the search results are based on corrected_query.
707
+ # Otherwise the original query will be used for search.
628
708
  # @!attribute [rw] attribution_token
629
709
  # @return [::String]
630
710
  # A unique search token. This should be included in the
@@ -642,10 +722,10 @@ module Google
642
722
  # @!attribute [rw] redirect_uri
643
723
  # @return [::String]
644
724
  # The URI of a customer-defined redirect page. If redirect action is
645
- # triggered, no search will be performed, and only
725
+ # triggered, no search is performed, and only
646
726
  # {::Google::Cloud::Retail::V2::SearchResponse#redirect_uri redirect_uri} and
647
727
  # {::Google::Cloud::Retail::V2::SearchResponse#attribution_token attribution_token}
648
- # will be set in the response.
728
+ # are set in the response.
649
729
  # @!attribute [rw] applied_controls
650
730
  # @return [::Array<::String>]
651
731
  # The fully qualified resource name of applied
@@ -45,11 +45,15 @@ module Google
45
45
  # able to uniquely identify a visitor on a single device. This unique
46
46
  # identifier should not change if the visitor log in/out of the website.
47
47
  #
48
+ # Don't set the field to the same fixed ID for different users. This mixes
49
+ # the event history of those users together, which results in degraded model
50
+ # quality.
51
+ #
48
52
  # The field must be a UTF-8 encoded string with a length limit of 128
49
53
  # characters. Otherwise, an INVALID_ARGUMENT error is returned.
50
54
  #
51
55
  # The field should not contain PII or user-data. We recommend to use Google
52
- # Analystics [Client
56
+ # Analytics [Client
53
57
  # ID](https://developers.google.com/analytics/devguides/collection/analyticsjs/field-reference#clientId)
54
58
  # for this field.
55
59
  # @!attribute [rw] session_id
@@ -102,12 +106,11 @@ module Google
102
106
  # @return [::Array<::Google::Cloud::Retail::V2::ProductDetail>]
103
107
  # The main product details related to the event.
104
108
  #
105
- # This field is required for the following event types:
109
+ # This field is optional except for the following event types:
106
110
  #
107
111
  # * `add-to-cart`
108
112
  # * `detail-page-view`
109
113
  # * `purchase-complete`
110
- # * `search`
111
114
  #
112
115
  # In a `search` event, this field represents the products returned to the end
113
116
  # user on the current page (the end user may have not finished browsing the
@@ -44,7 +44,7 @@ module Google
44
44
  # foo = any.unpack(Foo.class);
45
45
  # }
46
46
  #
47
- # Example 3: Pack and unpack a message in Python.
47
+ # Example 3: Pack and unpack a message in Python.
48
48
  #
49
49
  # foo = Foo(...)
50
50
  # any = Any()
@@ -54,7 +54,7 @@ module Google
54
54
  # any.Unpack(foo)
55
55
  # ...
56
56
  #
57
- # Example 4: Pack and unpack a message in Go
57
+ # Example 4: Pack and unpack a message in Go
58
58
  #
59
59
  # foo := &pb.Foo{...}
60
60
  # any, err := anypb.New(foo)
@@ -75,7 +75,7 @@ module Google
75
75
  #
76
76
  #
77
77
  # JSON
78
- # ====
78
+ #
79
79
  # The JSON representation of an `Any` value uses the regular
80
80
  # representation of the deserialized, embedded message, with an
81
81
  # additional field `@type` which contains the type URL. Example:
@@ -46,8 +46,8 @@ module Google
46
46
 
47
47
  # `Value` represents a dynamically typed value which can be either
48
48
  # null, a number, a string, a boolean, a recursive struct value, or a
49
- # list of values. A producer of value is expected to set one of that
50
- # variants, absence of any variant indicates an error.
49
+ # list of values. A producer of value is expected to set one of these
50
+ # variants. Absence of any variant indicates an error.
51
51
  #
52
52
  # The JSON representation for `Value` is JSON value.
53
53
  # @!attribute [rw] null_value
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: google-cloud-retail-v2
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.0
4
+ version: 0.8.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Google LLC
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-03-30 00:00:00.000000000 Z
11
+ date: 2022-06-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: gapic-common
@@ -265,7 +265,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
265
265
  - !ruby/object:Gem::Version
266
266
  version: '0'
267
267
  requirements: []
268
- rubygems_version: 3.3.5
268
+ rubygems_version: 3.3.14
269
269
  signing_key:
270
270
  specification_version: 4
271
271
  summary: API Client library for the Retail V2 API