google-cloud-retail-v2 2.0.0 → 2.1.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 (52) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -1
  3. data/lib/google/cloud/retail/v2/analytics_service/client.rb +2 -2
  4. data/lib/google/cloud/retail/v2/analytics_service/operations.rb +2 -2
  5. data/lib/google/cloud/retail/v2/analytics_service/rest/client.rb +1 -1
  6. data/lib/google/cloud/retail/v2/analytics_service/rest/operations.rb +1 -1
  7. data/lib/google/cloud/retail/v2/catalog_service/client.rb +37 -36
  8. data/lib/google/cloud/retail/v2/catalog_service/rest/client.rb +36 -35
  9. data/lib/google/cloud/retail/v2/catalog_service_services_pb.rb +30 -29
  10. data/lib/google/cloud/retail/v2/common_pb.rb +4 -1
  11. data/lib/google/cloud/retail/v2/completion_service/client.rb +14 -8
  12. data/lib/google/cloud/retail/v2/completion_service/operations.rb +2 -2
  13. data/lib/google/cloud/retail/v2/completion_service/rest/client.rb +13 -7
  14. data/lib/google/cloud/retail/v2/completion_service/rest/operations.rb +1 -1
  15. data/lib/google/cloud/retail/v2/control_service/client.rb +2 -2
  16. data/lib/google/cloud/retail/v2/control_service/rest/client.rb +1 -1
  17. data/lib/google/cloud/retail/v2/generative_question_service/client.rb +2 -2
  18. data/lib/google/cloud/retail/v2/generative_question_service/rest/client.rb +1 -1
  19. data/lib/google/cloud/retail/v2/model_service/client.rb +2 -2
  20. data/lib/google/cloud/retail/v2/model_service/operations.rb +2 -2
  21. data/lib/google/cloud/retail/v2/model_service/rest/client.rb +1 -1
  22. data/lib/google/cloud/retail/v2/model_service/rest/operations.rb +1 -1
  23. data/lib/google/cloud/retail/v2/prediction_service/client.rb +2 -2
  24. data/lib/google/cloud/retail/v2/prediction_service/rest/client.rb +1 -1
  25. data/lib/google/cloud/retail/v2/product_service/client.rb +2 -2
  26. data/lib/google/cloud/retail/v2/product_service/operations.rb +2 -2
  27. data/lib/google/cloud/retail/v2/product_service/rest/client.rb +1 -1
  28. data/lib/google/cloud/retail/v2/product_service/rest/operations.rb +1 -1
  29. data/lib/google/cloud/retail/v2/search_service/client.rb +21 -3
  30. data/lib/google/cloud/retail/v2/search_service/rest/client.rb +20 -2
  31. data/lib/google/cloud/retail/v2/search_service_pb.rb +1 -1
  32. data/lib/google/cloud/retail/v2/serving_config_service/client.rb +2 -2
  33. data/lib/google/cloud/retail/v2/serving_config_service/rest/client.rb +1 -1
  34. data/lib/google/cloud/retail/v2/user_event_service/client.rb +6 -4
  35. data/lib/google/cloud/retail/v2/user_event_service/operations.rb +2 -2
  36. data/lib/google/cloud/retail/v2/user_event_service/rest/client.rb +5 -3
  37. data/lib/google/cloud/retail/v2/user_event_service/rest/operations.rb +1 -1
  38. data/lib/google/cloud/retail/v2/user_event_service/rest/service_stub.rb +8 -0
  39. data/lib/google/cloud/retail/v2/user_event_service_pb.rb +1 -1
  40. data/lib/google/cloud/retail/v2/user_event_service_services_pb.rb +4 -2
  41. data/lib/google/cloud/retail/v2/version.rb +1 -1
  42. data/proto_docs/google/api/client.rb +6 -0
  43. data/proto_docs/google/cloud/retail/v2/catalog.rb +2 -2
  44. data/proto_docs/google/cloud/retail/v2/common.rb +129 -25
  45. data/proto_docs/google/cloud/retail/v2/completion_service.rb +16 -10
  46. data/proto_docs/google/cloud/retail/v2/import_config.rb +0 -3
  47. data/proto_docs/google/cloud/retail/v2/model.rb +0 -1
  48. data/proto_docs/google/cloud/retail/v2/product.rb +0 -1
  49. data/proto_docs/google/cloud/retail/v2/search_service.rb +41 -8
  50. data/proto_docs/google/cloud/retail/v2/serving_config.rb +15 -15
  51. data/proto_docs/google/cloud/retail/v2/user_event.rb +0 -2
  52. metadata +7 -7
@@ -88,53 +88,59 @@ module Google
88
88
  # @return [::Google::Cloud::Retail::V2::Rule::BoostAction]
89
89
  # A boost action.
90
90
  #
91
- # Note: The following fields are mutually exclusive: `boost_action`, `redirect_action`, `oneway_synonyms_action`, `do_not_associate_action`, `replacement_action`, `ignore_action`, `filter_action`, `twoway_synonyms_action`, `force_return_facet_action`, `remove_facet_action`. If a field in that set is populated, all other fields in the set will automatically be cleared.
91
+ # Note: The following fields are mutually exclusive: `boost_action`, `redirect_action`, `oneway_synonyms_action`, `do_not_associate_action`, `replacement_action`, `ignore_action`, `filter_action`, `twoway_synonyms_action`, `force_return_facet_action`, `remove_facet_action`, `pin_action`. If a field in that set is populated, all other fields in the set will automatically be cleared.
92
92
  # @!attribute [rw] redirect_action
93
93
  # @return [::Google::Cloud::Retail::V2::Rule::RedirectAction]
94
94
  # Redirects a shopper to a specific page.
95
95
  #
96
- # Note: The following fields are mutually exclusive: `redirect_action`, `boost_action`, `oneway_synonyms_action`, `do_not_associate_action`, `replacement_action`, `ignore_action`, `filter_action`, `twoway_synonyms_action`, `force_return_facet_action`, `remove_facet_action`. If a field in that set is populated, all other fields in the set will automatically be cleared.
96
+ # Note: The following fields are mutually exclusive: `redirect_action`, `boost_action`, `oneway_synonyms_action`, `do_not_associate_action`, `replacement_action`, `ignore_action`, `filter_action`, `twoway_synonyms_action`, `force_return_facet_action`, `remove_facet_action`, `pin_action`. If a field in that set is populated, all other fields in the set will automatically be cleared.
97
97
  # @!attribute [rw] oneway_synonyms_action
98
98
  # @return [::Google::Cloud::Retail::V2::Rule::OnewaySynonymsAction]
99
99
  # Treats specific term as a synonym with a group of terms.
100
100
  # Group of terms will not be treated as synonyms with the specific term.
101
101
  #
102
- # Note: The following fields are mutually exclusive: `oneway_synonyms_action`, `boost_action`, `redirect_action`, `do_not_associate_action`, `replacement_action`, `ignore_action`, `filter_action`, `twoway_synonyms_action`, `force_return_facet_action`, `remove_facet_action`. If a field in that set is populated, all other fields in the set will automatically be cleared.
102
+ # Note: The following fields are mutually exclusive: `oneway_synonyms_action`, `boost_action`, `redirect_action`, `do_not_associate_action`, `replacement_action`, `ignore_action`, `filter_action`, `twoway_synonyms_action`, `force_return_facet_action`, `remove_facet_action`, `pin_action`. If a field in that set is populated, all other fields in the set will automatically be cleared.
103
103
  # @!attribute [rw] do_not_associate_action
104
104
  # @return [::Google::Cloud::Retail::V2::Rule::DoNotAssociateAction]
105
105
  # Prevents term from being associated with other terms.
106
106
  #
107
- # Note: The following fields are mutually exclusive: `do_not_associate_action`, `boost_action`, `redirect_action`, `oneway_synonyms_action`, `replacement_action`, `ignore_action`, `filter_action`, `twoway_synonyms_action`, `force_return_facet_action`, `remove_facet_action`. If a field in that set is populated, all other fields in the set will automatically be cleared.
107
+ # Note: The following fields are mutually exclusive: `do_not_associate_action`, `boost_action`, `redirect_action`, `oneway_synonyms_action`, `replacement_action`, `ignore_action`, `filter_action`, `twoway_synonyms_action`, `force_return_facet_action`, `remove_facet_action`, `pin_action`. If a field in that set is populated, all other fields in the set will automatically be cleared.
108
108
  # @!attribute [rw] replacement_action
109
109
  # @return [::Google::Cloud::Retail::V2::Rule::ReplacementAction]
110
110
  # Replaces specific terms in the query.
111
111
  #
112
- # Note: The following fields are mutually exclusive: `replacement_action`, `boost_action`, `redirect_action`, `oneway_synonyms_action`, `do_not_associate_action`, `ignore_action`, `filter_action`, `twoway_synonyms_action`, `force_return_facet_action`, `remove_facet_action`. If a field in that set is populated, all other fields in the set will automatically be cleared.
112
+ # Note: The following fields are mutually exclusive: `replacement_action`, `boost_action`, `redirect_action`, `oneway_synonyms_action`, `do_not_associate_action`, `ignore_action`, `filter_action`, `twoway_synonyms_action`, `force_return_facet_action`, `remove_facet_action`, `pin_action`. If a field in that set is populated, all other fields in the set will automatically be cleared.
113
113
  # @!attribute [rw] ignore_action
114
114
  # @return [::Google::Cloud::Retail::V2::Rule::IgnoreAction]
115
115
  # Ignores specific terms from query during search.
116
116
  #
117
- # Note: The following fields are mutually exclusive: `ignore_action`, `boost_action`, `redirect_action`, `oneway_synonyms_action`, `do_not_associate_action`, `replacement_action`, `filter_action`, `twoway_synonyms_action`, `force_return_facet_action`, `remove_facet_action`. If a field in that set is populated, all other fields in the set will automatically be cleared.
117
+ # Note: The following fields are mutually exclusive: `ignore_action`, `boost_action`, `redirect_action`, `oneway_synonyms_action`, `do_not_associate_action`, `replacement_action`, `filter_action`, `twoway_synonyms_action`, `force_return_facet_action`, `remove_facet_action`, `pin_action`. If a field in that set is populated, all other fields in the set will automatically be cleared.
118
118
  # @!attribute [rw] filter_action
119
119
  # @return [::Google::Cloud::Retail::V2::Rule::FilterAction]
120
120
  # Filters results.
121
121
  #
122
- # Note: The following fields are mutually exclusive: `filter_action`, `boost_action`, `redirect_action`, `oneway_synonyms_action`, `do_not_associate_action`, `replacement_action`, `ignore_action`, `twoway_synonyms_action`, `force_return_facet_action`, `remove_facet_action`. If a field in that set is populated, all other fields in the set will automatically be cleared.
122
+ # Note: The following fields are mutually exclusive: `filter_action`, `boost_action`, `redirect_action`, `oneway_synonyms_action`, `do_not_associate_action`, `replacement_action`, `ignore_action`, `twoway_synonyms_action`, `force_return_facet_action`, `remove_facet_action`, `pin_action`. If a field in that set is populated, all other fields in the set will automatically be cleared.
123
123
  # @!attribute [rw] twoway_synonyms_action
124
124
  # @return [::Google::Cloud::Retail::V2::Rule::TwowaySynonymsAction]
125
125
  # Treats a set of terms as synonyms of one another.
126
126
  #
127
- # Note: The following fields are mutually exclusive: `twoway_synonyms_action`, `boost_action`, `redirect_action`, `oneway_synonyms_action`, `do_not_associate_action`, `replacement_action`, `ignore_action`, `filter_action`, `force_return_facet_action`, `remove_facet_action`. If a field in that set is populated, all other fields in the set will automatically be cleared.
127
+ # Note: The following fields are mutually exclusive: `twoway_synonyms_action`, `boost_action`, `redirect_action`, `oneway_synonyms_action`, `do_not_associate_action`, `replacement_action`, `ignore_action`, `filter_action`, `force_return_facet_action`, `remove_facet_action`, `pin_action`. If a field in that set is populated, all other fields in the set will automatically be cleared.
128
128
  # @!attribute [rw] force_return_facet_action
129
129
  # @return [::Google::Cloud::Retail::V2::Rule::ForceReturnFacetAction]
130
130
  # Force returns an attribute as a facet in the request.
131
131
  #
132
- # Note: The following fields are mutually exclusive: `force_return_facet_action`, `boost_action`, `redirect_action`, `oneway_synonyms_action`, `do_not_associate_action`, `replacement_action`, `ignore_action`, `filter_action`, `twoway_synonyms_action`, `remove_facet_action`. If a field in that set is populated, all other fields in the set will automatically be cleared.
132
+ # Note: The following fields are mutually exclusive: `force_return_facet_action`, `boost_action`, `redirect_action`, `oneway_synonyms_action`, `do_not_associate_action`, `replacement_action`, `ignore_action`, `filter_action`, `twoway_synonyms_action`, `remove_facet_action`, `pin_action`. If a field in that set is populated, all other fields in the set will automatically be cleared.
133
133
  # @!attribute [rw] remove_facet_action
134
134
  # @return [::Google::Cloud::Retail::V2::Rule::RemoveFacetAction]
135
135
  # Remove an attribute as a facet in the request (if present).
136
136
  #
137
- # Note: The following fields are mutually exclusive: `remove_facet_action`, `boost_action`, `redirect_action`, `oneway_synonyms_action`, `do_not_associate_action`, `replacement_action`, `ignore_action`, `filter_action`, `twoway_synonyms_action`, `force_return_facet_action`. If a field in that set is populated, all other fields in the set will automatically be cleared.
137
+ # Note: The following fields are mutually exclusive: `remove_facet_action`, `boost_action`, `redirect_action`, `oneway_synonyms_action`, `do_not_associate_action`, `replacement_action`, `ignore_action`, `filter_action`, `twoway_synonyms_action`, `force_return_facet_action`, `pin_action`. If a field in that set is populated, all other fields in the set will automatically be cleared.
138
+ # @!attribute [rw] pin_action
139
+ # @return [::Google::Cloud::Retail::V2::Rule::PinAction]
140
+ # Pins one or more specified products to a specific position in the
141
+ # results.
142
+ #
143
+ # Note: The following fields are mutually exclusive: `pin_action`, `boost_action`, `redirect_action`, `oneway_synonyms_action`, `do_not_associate_action`, `replacement_action`, `ignore_action`, `filter_action`, `twoway_synonyms_action`, `force_return_facet_action`, `remove_facet_action`. If a field in that set is populated, all other fields in the set will automatically be cleared.
138
144
  # @!attribute [rw] condition
139
145
  # @return [::Google::Cloud::Retail::V2::Condition]
140
146
  # Required. The condition that triggers the rule.
@@ -403,6 +409,60 @@ module Google
403
409
  include ::Google::Protobuf::MessageExts
404
410
  extend ::Google::Protobuf::MessageExts::ClassMethods
405
411
  end
412
+
413
+ # Pins one or more specified products to a specific position in the
414
+ # results.
415
+ #
416
+ # * Rule Condition:
417
+ # Must specify non-empty
418
+ # {::Google::Cloud::Retail::V2::Condition#query_terms Condition.query_terms}
419
+ # (for search only) or
420
+ # {::Google::Cloud::Retail::V2::Condition#page_categories Condition.page_categories}
421
+ # (for browse only), but can't specify both.
422
+ #
423
+ # * Action Input: mapping of `[pin_position, product_id]` pairs (pin position
424
+ # uses 1-based indexing).
425
+ #
426
+ # * Action Result: Will pin products with matching ids to the position
427
+ # specified in the final result order.
428
+ #
429
+ # Example: Suppose the query is `shoes`, the
430
+ # {::Google::Cloud::Retail::V2::Condition#query_terms Condition.query_terms} is
431
+ # `shoes` and the pin_map has `{1, "pid1"}`, then product with `pid1` will be
432
+ # pinned to the top position in the final results.
433
+ #
434
+ # If multiple PinActions are matched to a single request the actions will
435
+ # be processed from most to least recently updated.
436
+ #
437
+ # Pins to positions larger than the max allowed page size of 120 are not
438
+ # allowed.
439
+ # @!attribute [rw] pin_map
440
+ # @return [::Google::Protobuf::Map{::Integer => ::String}]
441
+ # Required. A map of positions to product_ids.
442
+ #
443
+ # Partial matches per action are allowed, if a certain position in the map
444
+ # is already filled that `[position, product_id]` pair will be ignored
445
+ # but the rest may still be applied. This case will only occur if multiple
446
+ # pin actions are matched to a single request, as the map guarantees that
447
+ # pin positions are unique within the same action.
448
+ #
449
+ # Duplicate product_ids are not permitted within a single pin map.
450
+ #
451
+ # The max size of this map is 120, equivalent to the max [request page
452
+ # size](https://cloud.google.com/retail/docs/reference/rest/v2/projects.locations.catalogs.placements/search#request-body).
453
+ class PinAction
454
+ include ::Google::Protobuf::MessageExts
455
+ extend ::Google::Protobuf::MessageExts::ClassMethods
456
+
457
+ # @!attribute [rw] key
458
+ # @return [::Integer]
459
+ # @!attribute [rw] value
460
+ # @return [::String]
461
+ class PinMapEntry
462
+ include ::Google::Protobuf::MessageExts
463
+ extend ::Google::Protobuf::MessageExts::ClassMethods
464
+ end
465
+ end
406
466
  end
407
467
 
408
468
  # An intended audience of the {::Google::Cloud::Retail::V2::Product Product} for
@@ -446,9 +506,9 @@ module Google
446
506
  # @return [::Array<::String>]
447
507
  # The standard color families. Strongly recommended to use the following
448
508
  # standard color groups: "Red", "Pink", "Orange", "Yellow", "Purple",
449
- # "Green", "Cyan", "Blue", "Brown", "White", "Gray", "Black" and
450
- # "Mixed". Normally it is expected to have only 1 color family. May consider
451
- # using single "Mixed" instead of multiple values.
509
+ # "Green", "Cyan", "Blue", "Brown", "White", "Gray", "Black" and "Mixed".
510
+ # Normally it is expected to have only 1 color family. May consider using
511
+ # single "Mixed" instead of multiple values.
452
512
  #
453
513
  # A maximum of 5 values are allowed. Each value must be a UTF-8 encoded
454
514
  # string with a length limit of 128 characters. Otherwise, an
@@ -457,6 +517,10 @@ module Google
457
517
  # Google Merchant Center property
458
518
  # [color](https://support.google.com/merchants/answer/6324487). Schema.org
459
519
  # property [Product.color](https://schema.org/color).
520
+ #
521
+ # The colorFamilies field as a system attribute is not a required field but
522
+ # strongly recommended to be specified. Google Search models treat this field
523
+ # as more important than a custom product attribute when specified.
460
524
  # @!attribute [rw] colors
461
525
  # @return [::Array<::String>]
462
526
  # The color display names, which may be different from standard color family
@@ -578,9 +642,10 @@ module Google
578
642
  end
579
643
 
580
644
  # {::Google::Cloud::Retail::V2::Product Product} image. Recommendations AI and
581
- # Retail Search do not use product images to improve prediction and search
582
- # results. However, product images can be returned in results, and are shown in
583
- # prediction or search previews in the console.
645
+ # Retail Search use product images to improve prediction and search results.
646
+ # Product images can be returned in results, and are shown in prediction or
647
+ # search previews in the console. Please try to provide correct product images
648
+ # and avoid using images with size too small.
584
649
  # @!attribute [rw] uri
585
650
  # @return [::String]
586
651
  # Required. URI of the image.
@@ -805,9 +870,7 @@ module Google
805
870
  # is set.
806
871
  # @!attribute [rw] user_agent
807
872
  # @return [::String]
808
- # User agent as included in the HTTP header. Required for getting
809
- # [SearchResponse.sponsored_results][google.cloud.retail.v2.SearchResponse.sponsored_results].
810
- #
873
+ # User agent as included in the HTTP header.
811
874
  # The field must be a UTF-8 encoded string with a length limit of 1,000
812
875
  # characters. Otherwise, an INVALID_ARGUMENT error is returned.
813
876
  #
@@ -837,17 +900,17 @@ module Google
837
900
  # by a place ID.
838
901
  # @!attribute [rw] place_id
839
902
  # @return [::String]
840
- # The place ID for the current set of inventory information.
903
+ # Optional. The place ID for the current set of inventory information.
841
904
  # @!attribute [rw] price_info
842
905
  # @return [::Google::Cloud::Retail::V2::PriceInfo]
843
- # Product price and cost information.
906
+ # Optional. Product price and cost information.
844
907
  #
845
908
  # Google Merchant Center property
846
909
  # [price](https://support.google.com/merchants/answer/6324371).
847
910
  # @!attribute [rw] attributes
848
911
  # @return [::Google::Protobuf::Map{::String => ::Google::Cloud::Retail::V2::CustomAttribute}]
849
- # Additional local inventory attributes, for example, store name, promotion
850
- # tags, etc.
912
+ # Optional. Additional local inventory attributes, for example, store name,
913
+ # promotion tags, etc.
851
914
  #
852
915
  # This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT
853
916
  # error is returned:
@@ -866,7 +929,7 @@ module Google
866
929
  # product is 5MiB.
867
930
  # @!attribute [rw] fulfillment_types
868
931
  # @return [::Array<::String>]
869
- # Input only. Supported fulfillment types. Valid fulfillment type values
932
+ # Optional. Supported fulfillment types. Valid fulfillment type values
870
933
  # include commonly used types (such as pickup in store and same day
871
934
  # delivery), and custom types. Customers have to map custom types to their
872
935
  # display names before rendering UI.
@@ -902,6 +965,47 @@ module Google
902
965
  end
903
966
  end
904
967
 
968
+ # Metadata for pinning to be returned in the response.
969
+ # This is used for distinguishing between applied vs dropped pins.
970
+ # @!attribute [rw] all_matched_pins
971
+ # @return [::Google::Protobuf::Map{::Integer => ::Google::Cloud::Retail::V2::PinControlMetadata::ProductPins}]
972
+ # Map of all matched pins, keyed by pin position.
973
+ # @!attribute [rw] dropped_pins
974
+ # @return [::Google::Protobuf::Map{::Integer => ::Google::Cloud::Retail::V2::PinControlMetadata::ProductPins}]
975
+ # Map of pins that were dropped due to overlap with other matching pins,
976
+ # keyed by pin position.
977
+ class PinControlMetadata
978
+ include ::Google::Protobuf::MessageExts
979
+ extend ::Google::Protobuf::MessageExts::ClassMethods
980
+
981
+ # List of product ids which have associated pins.
982
+ # @!attribute [rw] product_id
983
+ # @return [::Array<::String>]
984
+ # List of product ids which have associated pins.
985
+ class ProductPins
986
+ include ::Google::Protobuf::MessageExts
987
+ extend ::Google::Protobuf::MessageExts::ClassMethods
988
+ end
989
+
990
+ # @!attribute [rw] key
991
+ # @return [::Integer]
992
+ # @!attribute [rw] value
993
+ # @return [::Google::Cloud::Retail::V2::PinControlMetadata::ProductPins]
994
+ class AllMatchedPinsEntry
995
+ include ::Google::Protobuf::MessageExts
996
+ extend ::Google::Protobuf::MessageExts::ClassMethods
997
+ end
998
+
999
+ # @!attribute [rw] key
1000
+ # @return [::Integer]
1001
+ # @!attribute [rw] value
1002
+ # @return [::Google::Cloud::Retail::V2::PinControlMetadata::ProductPins]
1003
+ class DroppedPinsEntry
1004
+ include ::Google::Protobuf::MessageExts
1005
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1006
+ end
1007
+ end
1008
+
905
1009
  # At which level we offer configuration for attributes.
906
1010
  module AttributeConfigLevel
907
1011
  # Value used when unset. In this case, server behavior defaults to
@@ -913,7 +1017,7 @@ module Google
913
1017
  PRODUCT_LEVEL_ATTRIBUTE_CONFIG = 1
914
1018
 
915
1019
  # At this level, we honor the attribute configurations set in
916
- # [CatalogConfig.attribute_configs][].
1020
+ # `CatalogConfig.attribute_configs`.
917
1021
  CATALOG_LEVEL_ATTRIBUTE_CONFIG = 2
918
1022
  end
919
1023
 
@@ -35,7 +35,7 @@ module Google
35
35
  # The maximum number of allowed characters is 255.
36
36
  # @!attribute [rw] visitor_id
37
37
  # @return [::String]
38
- # Required field. A unique identifier for tracking visitors. For example,
38
+ # Recommended field. A unique identifier for tracking visitors. For example,
39
39
  # this could be implemented with an HTTP cookie, which should be able to
40
40
  # uniquely identify a visitor on a single device. This unique identifier
41
41
  # should not change if the visitor logs in or out of the website.
@@ -74,10 +74,11 @@ module Google
74
74
  # @!attribute [rw] dataset
75
75
  # @return [::String]
76
76
  # Determines which dataset to use for fetching completion. "user-data" will
77
- # use the imported dataset through
77
+ # use the dataset imported through
78
78
  # {::Google::Cloud::Retail::V2::CompletionService::Client#import_completion_data CompletionService.ImportCompletionData}.
79
- # "cloud-retail" will use the dataset generated by cloud retail based on user
80
- # events. If leave empty, it will use the "user-data".
79
+ # `cloud-retail` will use the dataset generated by Cloud Retail based on user
80
+ # events. If left empty, completions will be fetched from the `user-data`
81
+ # dataset.
81
82
  #
82
83
  # Current supported values:
83
84
  #
@@ -98,7 +99,7 @@ module Google
98
99
  # @return [::Boolean]
99
100
  # If true, attribute suggestions are enabled and provided in the response.
100
101
  #
101
- # This field is only available for the "cloud-retail" dataset.
102
+ # This field is only available for the `cloud-retail` dataset.
102
103
  # @!attribute [rw] entity
103
104
  # @return [::String]
104
105
  # The entity for customers who run multiple entities, domains, sites, or
@@ -106,7 +107,12 @@ module Google
106
107
  # `google.com`, `youtube.com`, etc.
107
108
  # If this is set, it must be an exact match with
108
109
  # {::Google::Cloud::Retail::V2::UserEvent#entity UserEvent.entity} to get
109
- # per-entity autocomplete results.
110
+ # per-entity autocomplete results. This field will be applied to
111
+ # `completion_results` only. It has no effect on the `attribute_results`.
112
+ # Also, this entity should be limited to 256 characters, if too long, it will
113
+ # be truncated to 256 characters in both generation and serving time, and may
114
+ # lead to mis-match. To ensure it works, please set the entity with string
115
+ # within 256 characters.
110
116
  class CompleteQueryRequest
111
117
  include ::Google::Protobuf::MessageExts
112
118
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -150,7 +156,7 @@ module Google
150
156
  # @!attribute [rw] attribute_results
151
157
  # @return [::Google::Protobuf::Map{::String => ::Google::Cloud::Retail::V2::CompleteQueryResponse::AttributeResult}]
152
158
  # A map of matched attribute suggestions. This field is only available for
153
- # "cloud-retail" dataset.
159
+ # `cloud-retail` dataset.
154
160
  #
155
161
  # Current supported keys:
156
162
  #
@@ -169,10 +175,10 @@ module Google
169
175
  # @return [::Google::Protobuf::Map{::String => ::Google::Cloud::Retail::V2::CustomAttribute}]
170
176
  # Custom attributes for the suggestion term.
171
177
  #
172
- # * For "user-data", the attributes are additional custom attributes
178
+ # * For `user-data`, the attributes are additional custom attributes
173
179
  # ingested through BigQuery.
174
180
  #
175
- # * For "cloud-retail", the attributes are product attributes generated
181
+ # * For `cloud-retail`, the attributes are product attributes generated
176
182
  # by Cloud Retail. It requires
177
183
  # {::Google::Cloud::Retail::V2::UserEvent#product_details UserEvent.product_details}
178
184
  # is imported properly.
@@ -201,9 +207,9 @@ module Google
201
207
  end
202
208
 
203
209
  # Resource that represents attribute results.
204
- # The list of suggestions for the attribute.
205
210
  # @!attribute [rw] suggestions
206
211
  # @return [::Array<::String>]
212
+ # The list of suggestions for the attribute.
207
213
  class AttributeResult
208
214
  include ::Google::Protobuf::MessageExts
209
215
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -69,9 +69,6 @@ module Google
69
69
  # @!attribute [rw] partition_date
70
70
  # @return [::Google::Type::Date]
71
71
  # BigQuery time partitioned table's _PARTITIONDATE in YYYY-MM-DD format.
72
- #
73
- # Only supported in
74
- # {::Google::Cloud::Retail::V2::ImportProductsRequest ImportProductsRequest}.
75
72
  # @!attribute [rw] project_id
76
73
  # @return [::String]
77
74
  # The project ID (can be project # or ID) that the BigQuery source is in with
@@ -70,7 +70,6 @@ module Google
70
70
  # `frequently-bought-together`, `page-optimization`, `similar-items`,
71
71
  # `buy-it-again`, `on-sale-items`, and `recently-viewed`(readonly value).
72
72
  #
73
- #
74
73
  # This field together with
75
74
  # {::Google::Cloud::Retail::V2::Model#optimization_objective optimization_objective}
76
75
  # describe model metadata to use to control model training and serving.
@@ -487,7 +487,6 @@ module Google
487
487
  # * {::Google::Cloud::Retail::V2::Product#name name}
488
488
  # * {::Google::Cloud::Retail::V2::Product#color_info color_info}
489
489
  #
490
- #
491
490
  # Note: Returning more fields in
492
491
  # {::Google::Cloud::Retail::V2::SearchResponse SearchResponse} can increase
493
492
  # response payload size and serving latency.
@@ -338,6 +338,27 @@ module Google
338
338
  # @!attribute [rw] tile_navigation_spec
339
339
  # @return [::Google::Cloud::Retail::V2::SearchRequest::TileNavigationSpec]
340
340
  # Optional. This field specifies tile navigation related parameters.
341
+ # @!attribute [rw] language_code
342
+ # @return [::String]
343
+ # Optional. The BCP-47 language code, such as "en-US" or "sr-Latn"
344
+ # [list](https://www.unicode.org/cldr/charts/46/summary/root.html). For more
345
+ # information, see [Standardized codes](https://google.aip.dev/143). This
346
+ # field helps to better interpret the query. If a value isn't specified, the
347
+ # query language code is automatically detected, which may not be accurate.
348
+ # @!attribute [rw] region_code
349
+ # @return [::String]
350
+ # Optional. The Unicode country/region code (CLDR) of a location, such as
351
+ # "US" and "419"
352
+ # [list](https://www.unicode.org/cldr/charts/46/supplemental/territory_information.html).
353
+ # For more information, see [Standardized codes](https://google.aip.dev/143).
354
+ # If set, then results will be boosted based on the region_code provided.
355
+ # @!attribute [rw] place_id
356
+ # @return [::String]
357
+ # Optional. An id corresponding to a place, such as a store id or region id.
358
+ # When specified, we use the price from the local inventory with the matching
359
+ # product's
360
+ # {::Google::Cloud::Retail::V2::LocalInventory#place_id LocalInventory.place_id}
361
+ # for revenue optimization.
341
362
  class SearchRequest
342
363
  include ::Google::Protobuf::MessageExts
343
364
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -357,7 +378,6 @@ module Google
357
378
  # @return [::Array<::String>]
358
379
  # List of keys to exclude when faceting.
359
380
  #
360
- #
361
381
  # By default,
362
382
  # {::Google::Cloud::Retail::V2::SearchRequest::FacetSpec::FacetKey#key FacetKey.key}
363
383
  # is not excluded from the filter unless it is listed in this field.
@@ -606,7 +626,7 @@ module Google
606
626
  # @!attribute [rw] condition_boost_specs
607
627
  # @return [::Array<::Google::Cloud::Retail::V2::SearchRequest::BoostSpec::ConditionBoostSpec>]
608
628
  # Condition boost specifications. If a product matches multiple conditions
609
- # in the specifictions, boost scores from these specifications are all
629
+ # in the specifications, boost scores from these specifications are all
610
630
  # applied and combined in a non-linear way. Maximum number of
611
631
  # specifications is 20.
612
632
  # @!attribute [rw] skip_boost_spec_validation
@@ -813,9 +833,14 @@ module Google
813
833
  # navigation.
814
834
  # @!attribute [rw] applied_tiles
815
835
  # @return [::Array<::Google::Cloud::Retail::V2::Tile>]
816
- # This field specifies the tiles which are already clicked in client side.
817
- # NOTE: This field is not being used for filtering search products. Client
818
- # side should also put all the applied tiles in
836
+ # This optional field specifies the tiles which are already clicked in
837
+ # client side. While the feature works without this field set, particularly
838
+ # for an initial query, it is highly recommended to set this field because
839
+ # it can improve the quality of the search response and removes possible
840
+ # duplicate tiles.
841
+ #
842
+ # NOTE: This field is not being used for filtering search
843
+ # products. Client side should also put all the applied tiles in
819
844
  # {::Google::Cloud::Retail::V2::SearchRequest#filter SearchRequest.filter}.
820
845
  class TileNavigationSpec
821
846
  include ::Google::Protobuf::MessageExts
@@ -915,6 +940,14 @@ module Google
915
940
  # @return [::Array<::String>]
916
941
  # The fully qualified resource name of applied
917
942
  # [controls](https://cloud.google.com/retail/docs/serving-control-rules).
943
+ # @!attribute [rw] pin_control_metadata
944
+ # @return [::Google::Cloud::Retail::V2::PinControlMetadata]
945
+ # Metadata for pin controls which were applicable to the request.
946
+ # This contains two map fields, one for all matched pins and one for pins
947
+ # which were matched but not applied.
948
+ #
949
+ # The two maps are keyed by pin position, and the values are the product ids
950
+ # which were matched to that pin.
918
951
  # @!attribute [rw] invalid_condition_boost_specs
919
952
  # @return [::Array<::Google::Cloud::Retail::V2::SearchRequest::BoostSpec::ConditionBoostSpec>]
920
953
  # The invalid
@@ -922,7 +955,7 @@ module Google
922
955
  # that are not applied during serving.
923
956
  # @!attribute [rw] experiment_info
924
957
  # @return [::Array<::Google::Cloud::Retail::V2::ExperimentInfo>]
925
- # Metadata related to A/B testing [Experiment][] associated with this
958
+ # Metadata related to A/B testing experiment associated with this
926
959
  # response. Only exists when an experiment is triggered.
927
960
  # @!attribute [rw] conversational_search_result
928
961
  # @return [::Google::Cloud::Retail::V2::SearchResponse::ConversationalSearchResult]
@@ -1186,7 +1219,7 @@ module Google
1186
1219
  end
1187
1220
  end
1188
1221
 
1189
- # Metadata for active A/B testing [Experiment][].
1222
+ # Metadata for active A/B testing experiment.
1190
1223
  # @!attribute [rw] serving_config_experiment
1191
1224
  # @return [::Google::Cloud::Retail::V2::ExperimentInfo::ServingConfigExperiment]
1192
1225
  # A/B test between existing Cloud Retail Search
@@ -1210,7 +1243,7 @@ module Google
1210
1243
  # @!attribute [rw] experiment_serving_config
1211
1244
  # @return [::String]
1212
1245
  # The fully qualified resource name of the serving config
1213
- # [Experiment.VariantArm.serving_config_id][] responsible for generating
1246
+ # `Experiment.VariantArm.serving_config_id` responsible for generating
1214
1247
  # the search response. For example:
1215
1248
  # `projects/*/locations/*/catalogs/*/servingConfigs/*`.
1216
1249
  class ServingConfigExperiment
@@ -44,7 +44,7 @@ module Google
44
44
  #
45
45
  # Required when
46
46
  # {::Google::Cloud::Retail::V2::ServingConfig#solution_types solution_types} is
47
- # [SOLUTION_TYPE_RECOMMENDATION][google.cloud.retail.v2main.SolutionType.SOLUTION_TYPE_RECOMMENDATION].
47
+ # {::Google::Cloud::Retail::V2::SolutionType::SOLUTION_TYPE_RECOMMENDATION SOLUTION_TYPE_RECOMMENDATION}.
48
48
  # @!attribute [rw] price_reranking_level
49
49
  # @return [::String]
50
50
  # How much price ranking we want in serving results.
@@ -64,7 +64,7 @@ module Google
64
64
  #
65
65
  # Can only be set if
66
66
  # {::Google::Cloud::Retail::V2::ServingConfig#solution_types solution_types} is
67
- # [SOLUTION_TYPE_RECOMMENDATION][google.cloud.retail.v2main.SolutionType.SOLUTION_TYPE_RECOMMENDATION].
67
+ # {::Google::Cloud::Retail::V2::SolutionType::SOLUTION_TYPE_RECOMMENDATION SOLUTION_TYPE_RECOMMENDATION}.
68
68
  # @!attribute [rw] facet_control_ids
69
69
  # @return [::Array<::String>]
70
70
  # Facet specifications for faceted search. If empty, no facets are returned.
@@ -77,7 +77,7 @@ module Google
77
77
  #
78
78
  # Can only be set if
79
79
  # {::Google::Cloud::Retail::V2::ServingConfig#solution_types solution_types} is
80
- # [SOLUTION_TYPE_SEARCH][google.cloud.retail.v2main.SolutionType.SOLUTION_TYPE_SEARCH].
80
+ # {::Google::Cloud::Retail::V2::SolutionType::SOLUTION_TYPE_SEARCH SOLUTION_TYPE_SEARCH}.
81
81
  # @!attribute [rw] dynamic_facet_spec
82
82
  # @return [::Google::Cloud::Retail::V2::SearchRequest::DynamicFacetSpec]
83
83
  # The specification for dynamically generated facets. Notice that only
@@ -85,7 +85,7 @@ module Google
85
85
  #
86
86
  # Can only be set if
87
87
  # {::Google::Cloud::Retail::V2::ServingConfig#solution_types solution_types} is
88
- # [SOLUTION_TYPE_SEARCH][google.cloud.retail.v2main.SolutionType.SOLUTION_TYPE_SEARCH].
88
+ # {::Google::Cloud::Retail::V2::SolutionType::SOLUTION_TYPE_SEARCH SOLUTION_TYPE_SEARCH}.
89
89
  # @!attribute [rw] boost_control_ids
90
90
  # @return [::Array<::String>]
91
91
  # Condition boost specifications. If a product matches multiple conditions
@@ -103,7 +103,7 @@ module Google
103
103
  #
104
104
  # Can only be set if
105
105
  # {::Google::Cloud::Retail::V2::ServingConfig#solution_types solution_types} is
106
- # [SOLUTION_TYPE_SEARCH][google.cloud.retail.v2main.SolutionType.SOLUTION_TYPE_SEARCH].
106
+ # {::Google::Cloud::Retail::V2::SolutionType::SOLUTION_TYPE_SEARCH SOLUTION_TYPE_SEARCH}.
107
107
  # @!attribute [rw] filter_control_ids
108
108
  # @return [::Array<::String>]
109
109
  # Condition filter specifications. If a product matches multiple conditions
@@ -113,7 +113,7 @@ module Google
113
113
  #
114
114
  # Can only be set if
115
115
  # {::Google::Cloud::Retail::V2::ServingConfig#solution_types solution_types} is
116
- # [SOLUTION_TYPE_SEARCH][google.cloud.retail.v2main.SolutionType.SOLUTION_TYPE_SEARCH].
116
+ # {::Google::Cloud::Retail::V2::SolutionType::SOLUTION_TYPE_SEARCH SOLUTION_TYPE_SEARCH}.
117
117
  # @!attribute [rw] redirect_control_ids
118
118
  # @return [::Array<::String>]
119
119
  # Condition redirect specifications. Only the first triggered redirect action
@@ -122,7 +122,7 @@ module Google
122
122
  #
123
123
  # Can only be set if
124
124
  # {::Google::Cloud::Retail::V2::ServingConfig#solution_types solution_types} is
125
- # [SOLUTION_TYPE_SEARCH][google.cloud.retail.v2main.SolutionType.SOLUTION_TYPE_SEARCH].
125
+ # {::Google::Cloud::Retail::V2::SolutionType::SOLUTION_TYPE_SEARCH SOLUTION_TYPE_SEARCH}.
126
126
  # @!attribute [rw] twoway_synonyms_control_ids
127
127
  # @return [::Array<::String>]
128
128
  # Condition synonyms specifications. If multiple syonyms conditions match,
@@ -132,7 +132,7 @@ module Google
132
132
  #
133
133
  # Can only be set if
134
134
  # {::Google::Cloud::Retail::V2::ServingConfig#solution_types solution_types} is
135
- # [SOLUTION_TYPE_SEARCH][google.cloud.retail.v2main.SolutionType.SOLUTION_TYPE_SEARCH].
135
+ # {::Google::Cloud::Retail::V2::SolutionType::SOLUTION_TYPE_SEARCH SOLUTION_TYPE_SEARCH}.
136
136
  # @!attribute [rw] oneway_synonyms_control_ids
137
137
  # @return [::Array<::String>]
138
138
  # Condition oneway synonyms specifications. If multiple oneway synonyms
@@ -142,7 +142,7 @@ module Google
142
142
  #
143
143
  # Can only be set if
144
144
  # {::Google::Cloud::Retail::V2::ServingConfig#solution_types solution_types} is
145
- # [SOLUTION_TYPE_SEARCH][google.cloud.retail.v2main.SolutionType.SOLUTION_TYPE_SEARCH].
145
+ # {::Google::Cloud::Retail::V2::SolutionType::SOLUTION_TYPE_SEARCH SOLUTION_TYPE_SEARCH}.
146
146
  # @!attribute [rw] do_not_associate_control_ids
147
147
  # @return [::Array<::String>]
148
148
  # Condition do not associate specifications. If multiple do not associate
@@ -153,7 +153,7 @@ module Google
153
153
  #
154
154
  # Can only be set if
155
155
  # {::Google::Cloud::Retail::V2::ServingConfig#solution_types solution_types} is
156
- # [SOLUTION_TYPE_SEARCH][google.cloud.retail.v2main.SolutionType.SOLUTION_TYPE_SEARCH].
156
+ # {::Google::Cloud::Retail::V2::SolutionType::SOLUTION_TYPE_SEARCH SOLUTION_TYPE_SEARCH}.
157
157
  # @!attribute [rw] replacement_control_ids
158
158
  # @return [::Array<::String>]
159
159
  # Condition replacement specifications.
@@ -163,7 +163,7 @@ module Google
163
163
  #
164
164
  # Can only be set if
165
165
  # {::Google::Cloud::Retail::V2::ServingConfig#solution_types solution_types} is
166
- # [SOLUTION_TYPE_SEARCH][google.cloud.retail.v2main.SolutionType.SOLUTION_TYPE_SEARCH].
166
+ # {::Google::Cloud::Retail::V2::SolutionType::SOLUTION_TYPE_SEARCH SOLUTION_TYPE_SEARCH}.
167
167
  # @!attribute [rw] ignore_control_ids
168
168
  # @return [::Array<::String>]
169
169
  # Condition ignore specifications. If multiple ignore
@@ -174,7 +174,7 @@ module Google
174
174
  #
175
175
  # Can only be set if
176
176
  # {::Google::Cloud::Retail::V2::ServingConfig#solution_types solution_types} is
177
- # [SOLUTION_TYPE_SEARCH][google.cloud.retail.v2main.SolutionType.SOLUTION_TYPE_SEARCH].
177
+ # {::Google::Cloud::Retail::V2::SolutionType::SOLUTION_TYPE_SEARCH SOLUTION_TYPE_SEARCH}.
178
178
  # @!attribute [rw] diversity_level
179
179
  # @return [::String]
180
180
  # How much diversity to use in recommendation model results e.g.
@@ -191,7 +191,7 @@ module Google
191
191
  #
192
192
  # Can only be set if
193
193
  # {::Google::Cloud::Retail::V2::ServingConfig#solution_types solution_types} is
194
- # [SOLUTION_TYPE_RECOMMENDATION][google.cloud.retail.v2main.SolutionType.SOLUTION_TYPE_RECOMMENDATION].
194
+ # {::Google::Cloud::Retail::V2::SolutionType::SOLUTION_TYPE_RECOMMENDATION SOLUTION_TYPE_RECOMMENDATION}.
195
195
  # @!attribute [rw] diversity_type
196
196
  # @return [::Google::Cloud::Retail::V2::ServingConfig::DiversityType]
197
197
  # What kind of diversity to use - data driven or rule based. If unset, the
@@ -212,7 +212,7 @@ module Google
212
212
  #
213
213
  # Can only be set if
214
214
  # {::Google::Cloud::Retail::V2::ServingConfig#solution_types solution_types} is
215
- # [SOLUTION_TYPE_RECOMMENDATION][google.cloud.retail.v2main.SolutionType.SOLUTION_TYPE_RECOMMENDATION].
215
+ # {::Google::Cloud::Retail::V2::SolutionType::SOLUTION_TYPE_RECOMMENDATION SOLUTION_TYPE_RECOMMENDATION}.
216
216
  # @!attribute [rw] ignore_recs_denylist
217
217
  # @return [::Boolean]
218
218
  # When the flag is enabled, the products in the denylist will not be filtered
@@ -223,7 +223,7 @@ module Google
223
223
  #
224
224
  # Can only be set if
225
225
  # {::Google::Cloud::Retail::V2::ServingConfig#solution_types solution_types} is
226
- # [SOLUTION_TYPE_SEARCH][google.cloud.retail.v2main.SolutionType.SOLUTION_TYPE_SEARCH].
226
+ # {::Google::Cloud::Retail::V2::SolutionType::SOLUTION_TYPE_SEARCH SOLUTION_TYPE_SEARCH}.
227
227
  #
228
228
  # Notice that if both
229
229
  # {::Google::Cloud::Retail::V2::ServingConfig#personalization_spec ServingConfig.personalization_spec}
@@ -33,8 +33,6 @@ module Google
33
33
  # viewed.
34
34
  # * `detail-page-view`: Products detail page viewed.
35
35
  # * `home-page-view`: Homepage viewed.
36
- # * `promotion-offered`: Promotion is offered to a user.
37
- # * `promotion-not-offered`: Promotion is not offered to a user.
38
36
  # * `purchase-complete`: User finishing a purchase.
39
37
  # * `search`: Product search.
40
38
  # * `shopping-cart-page-view`: User viewing a shopping cart.