google-apis-retail_v2 0.51.0 → 0.54.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -299,6 +299,26 @@ module Google
299
299
  end
300
300
  end
301
301
 
302
+ # Request for AddControl method.
303
+ class GoogleCloudRetailV2AddControlRequest
304
+ include Google::Apis::Core::Hashable
305
+
306
+ # Required. The id of the control to apply. Assumed to be in the same catalog as
307
+ # the serving config - if id is not found a NOT_FOUND error is returned.
308
+ # Corresponds to the JSON property `controlId`
309
+ # @return [String]
310
+ attr_accessor :control_id
311
+
312
+ def initialize(**args)
313
+ update!(**args)
314
+ end
315
+
316
+ # Update properties of this object
317
+ def update!(**args)
318
+ @control_id = args[:control_id] if args.key?(:control_id)
319
+ end
320
+ end
321
+
302
322
  # Metadata related to the progress of the AddFulfillmentPlaces operation.
303
323
  # Currently empty because there is no meaningful metadata populated from the
304
324
  # ProductService.AddFulfillmentPlaces method.
@@ -664,11 +684,12 @@ module Google
664
684
  # Otherwise, this field is `False`. CatalogAttribute can be pre-loaded by using
665
685
  # CatalogService.AddCatalogAttribute, CatalogService.ImportCatalogAttributes, or
666
686
  # CatalogService.UpdateAttributesConfig APIs. This field is `False` for pre-
667
- # loaded CatalogAttributes. Only pre-loaded CatalogAttributes that are neither
668
- # in use by products nor predefined can be deleted. CatalogAttributes that are
669
- # either in use by products or are predefined cannot be deleted; however, their
670
- # configuration properties will reset to default values upon removal request.
671
- # After catalog changes, it takes about 10 minutes for this field to update.
687
+ # loaded CatalogAttributes. Only pre-loaded catalog attributes that are neither
688
+ # in use by products nor predefined can be deleted. Catalog attributes that are
689
+ # either in use by products or are predefined attributes cannot be deleted;
690
+ # however, their configuration properties will reset to default values upon
691
+ # removal request. After catalog changes, it takes about 10 minutes for this
692
+ # field to update.
672
693
  # Corresponds to the JSON property `inUse`
673
694
  # @return [Boolean]
674
695
  attr_accessor :in_use
@@ -1000,6 +1021,157 @@ module Google
1000
1021
  end
1001
1022
  end
1002
1023
 
1024
+ # Metadata that is used to define a condition that triggers an action. A valid
1025
+ # condition must specify at least one of 'query_terms' or 'products_filter'. If
1026
+ # multiple fields are specified, the condition is met if all the fields are
1027
+ # satisfied e.g. if a set of query terms and product_filter are set, then only
1028
+ # items matching the product_filter for requests with a query matching the query
1029
+ # terms wil get boosted.
1030
+ class GoogleCloudRetailV2Condition
1031
+ include Google::Apis::Core::Hashable
1032
+
1033
+ # Range of time(s) specifying when Condition is active. Condition true if any
1034
+ # time range matches.
1035
+ # Corresponds to the JSON property `activeTimeRange`
1036
+ # @return [Array<Google::Apis::RetailV2::GoogleCloudRetailV2ConditionTimeRange>]
1037
+ attr_accessor :active_time_range
1038
+
1039
+ # A list (up to 10 entries) of terms to match the query on. If not specified,
1040
+ # match all queries. If many query terms are specified, the condition is matched
1041
+ # if any of the terms is a match (i.e. using the OR operator).
1042
+ # Corresponds to the JSON property `queryTerms`
1043
+ # @return [Array<Google::Apis::RetailV2::GoogleCloudRetailV2ConditionQueryTerm>]
1044
+ attr_accessor :query_terms
1045
+
1046
+ def initialize(**args)
1047
+ update!(**args)
1048
+ end
1049
+
1050
+ # Update properties of this object
1051
+ def update!(**args)
1052
+ @active_time_range = args[:active_time_range] if args.key?(:active_time_range)
1053
+ @query_terms = args[:query_terms] if args.key?(:query_terms)
1054
+ end
1055
+ end
1056
+
1057
+ # Query terms that we want to match on.
1058
+ class GoogleCloudRetailV2ConditionQueryTerm
1059
+ include Google::Apis::Core::Hashable
1060
+
1061
+ # Whether this is supposed to be a full or partial match.
1062
+ # Corresponds to the JSON property `fullMatch`
1063
+ # @return [Boolean]
1064
+ attr_accessor :full_match
1065
+ alias_method :full_match?, :full_match
1066
+
1067
+ # The value of the term to match on. Value cannot be empty. Value can have at
1068
+ # most 3 terms if specified as a partial match. Each space separated string is
1069
+ # considered as one term. For example, "a b c" is 3 terms and allowed, but " a b
1070
+ # c d" is 4 terms and not allowed for a partial match.
1071
+ # Corresponds to the JSON property `value`
1072
+ # @return [String]
1073
+ attr_accessor :value
1074
+
1075
+ def initialize(**args)
1076
+ update!(**args)
1077
+ end
1078
+
1079
+ # Update properties of this object
1080
+ def update!(**args)
1081
+ @full_match = args[:full_match] if args.key?(:full_match)
1082
+ @value = args[:value] if args.key?(:value)
1083
+ end
1084
+ end
1085
+
1086
+ # Used for time-dependent conditions. Example: Want to have rule applied for
1087
+ # week long sale.
1088
+ class GoogleCloudRetailV2ConditionTimeRange
1089
+ include Google::Apis::Core::Hashable
1090
+
1091
+ # End of time range. Range is inclusive.
1092
+ # Corresponds to the JSON property `endTime`
1093
+ # @return [String]
1094
+ attr_accessor :end_time
1095
+
1096
+ # Start of time range. Range is inclusive.
1097
+ # Corresponds to the JSON property `startTime`
1098
+ # @return [String]
1099
+ attr_accessor :start_time
1100
+
1101
+ def initialize(**args)
1102
+ update!(**args)
1103
+ end
1104
+
1105
+ # Update properties of this object
1106
+ def update!(**args)
1107
+ @end_time = args[:end_time] if args.key?(:end_time)
1108
+ @start_time = args[:start_time] if args.key?(:start_time)
1109
+ end
1110
+ end
1111
+
1112
+ # Configures dynamic metadata that can be linked to a ServingConfig and affect
1113
+ # search or recommendation results at serving time.
1114
+ class GoogleCloudRetailV2Control
1115
+ include Google::Apis::Core::Hashable
1116
+
1117
+ # Output only. List of serving configuration ids that are associated with this
1118
+ # control in the same Catalog. Note the association is managed via the
1119
+ # ServingConfig, this is an output only denormalized view.
1120
+ # Corresponds to the JSON property `associatedServingConfigIds`
1121
+ # @return [Array<String>]
1122
+ attr_accessor :associated_serving_config_ids
1123
+
1124
+ # Required. The human readable control display name. Used in Retail UI. This
1125
+ # field must be a UTF-8 encoded string with a length limit of 128 characters.
1126
+ # Otherwise, an INVALID_ARGUMENT error is thrown.
1127
+ # Corresponds to the JSON property `displayName`
1128
+ # @return [String]
1129
+ attr_accessor :display_name
1130
+
1131
+ # Immutable. Fully qualified name `projects/*/locations/global/catalogs/*/
1132
+ # controls/*`
1133
+ # Corresponds to the JSON property `name`
1134
+ # @return [String]
1135
+ attr_accessor :name
1136
+
1137
+ # A rule is a condition-action pair * A condition defines when a rule is to be
1138
+ # triggered. * An action specifies what occurs on that trigger. Currently rules
1139
+ # only work for controls with SOLUTION_TYPE_SEARCH.
1140
+ # Corresponds to the JSON property `rule`
1141
+ # @return [Google::Apis::RetailV2::GoogleCloudRetailV2Rule]
1142
+ attr_accessor :rule
1143
+
1144
+ # Specifies the use case for the control. Affects what condition fields can be
1145
+ # set. Only settable by search controls. Will default to
1146
+ # SEARCH_SOLUTION_USE_CASE_SEARCH if not specified. Currently only allow one
1147
+ # search_solution_use_case per control.
1148
+ # Corresponds to the JSON property `searchSolutionUseCase`
1149
+ # @return [Array<String>]
1150
+ attr_accessor :search_solution_use_case
1151
+
1152
+ # Required. Immutable. The solution types that the control is used for.
1153
+ # Currently we support setting only one type of solution at creation time. Only `
1154
+ # SOLUTION_TYPE_SEARCH` value is supported at the moment. If no solution type is
1155
+ # provided at creation time, will default to SOLUTION_TYPE_SEARCH.
1156
+ # Corresponds to the JSON property `solutionTypes`
1157
+ # @return [Array<String>]
1158
+ attr_accessor :solution_types
1159
+
1160
+ def initialize(**args)
1161
+ update!(**args)
1162
+ end
1163
+
1164
+ # Update properties of this object
1165
+ def update!(**args)
1166
+ @associated_serving_config_ids = args[:associated_serving_config_ids] if args.key?(:associated_serving_config_ids)
1167
+ @display_name = args[:display_name] if args.key?(:display_name)
1168
+ @name = args[:name] if args.key?(:name)
1169
+ @rule = args[:rule] if args.key?(:rule)
1170
+ @search_solution_use_case = args[:search_solution_use_case] if args.key?(:search_solution_use_case)
1171
+ @solution_types = args[:solution_types] if args.key?(:solution_types)
1172
+ end
1173
+ end
1174
+
1003
1175
  # A custom attribute that is not explicitly modeled in Product.
1004
1176
  class GoogleCloudRetailV2CustomAttribute
1005
1177
  include Google::Apis::Core::Hashable
@@ -1535,6 +1707,31 @@ module Google
1535
1707
  end
1536
1708
  end
1537
1709
 
1710
+ # Response for ListControls method.
1711
+ class GoogleCloudRetailV2ListControlsResponse
1712
+ include Google::Apis::Core::Hashable
1713
+
1714
+ # All the Controls for a given catalog.
1715
+ # Corresponds to the JSON property `controls`
1716
+ # @return [Array<Google::Apis::RetailV2::GoogleCloudRetailV2Control>]
1717
+ attr_accessor :controls
1718
+
1719
+ # Pagination token, if not returned indicates the last page.
1720
+ # Corresponds to the JSON property `nextPageToken`
1721
+ # @return [String]
1722
+ attr_accessor :next_page_token
1723
+
1724
+ def initialize(**args)
1725
+ update!(**args)
1726
+ end
1727
+
1728
+ # Update properties of this object
1729
+ def update!(**args)
1730
+ @controls = args[:controls] if args.key?(:controls)
1731
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1732
+ end
1733
+ end
1734
+
1538
1735
  # Response message for ProductService.ListProducts method.
1539
1736
  class GoogleCloudRetailV2ListProductsResponse
1540
1737
  include Google::Apis::Core::Hashable
@@ -1561,6 +1758,31 @@ module Google
1561
1758
  end
1562
1759
  end
1563
1760
 
1761
+ # Response for ListServingConfigs method.
1762
+ class GoogleCloudRetailV2ListServingConfigsResponse
1763
+ include Google::Apis::Core::Hashable
1764
+
1765
+ # Pagination token, if not returned indicates the last page.
1766
+ # Corresponds to the JSON property `nextPageToken`
1767
+ # @return [String]
1768
+ attr_accessor :next_page_token
1769
+
1770
+ # All the ServingConfigs for a given catalog.
1771
+ # Corresponds to the JSON property `servingConfigs`
1772
+ # @return [Array<Google::Apis::RetailV2::GoogleCloudRetailV2ServingConfig>]
1773
+ attr_accessor :serving_configs
1774
+
1775
+ def initialize(**args)
1776
+ update!(**args)
1777
+ end
1778
+
1779
+ # Update properties of this object
1780
+ def update!(**args)
1781
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1782
+ @serving_configs = args[:serving_configs] if args.key?(:serving_configs)
1783
+ end
1784
+ end
1785
+
1564
1786
  # The inventory information at a place (e.g. a store) identified by a place ID.
1565
1787
  class GoogleCloudRetailV2LocalInventory
1566
1788
  include Google::Apis::Core::Hashable
@@ -1938,6 +2160,8 @@ module Google
1938
2160
  attr_accessor :available_quantity
1939
2161
 
1940
2162
  # The timestamp when this Product becomes available for SearchService.Search.
2163
+ # Note that this is only applicable to Type.PRIMARY and Type.COLLECTION, and
2164
+ # ignored for Type.VARIANT.
1941
2165
  # Corresponds to the JSON property `availableTime`
1942
2166
  # @return [String]
1943
2167
  attr_accessor :available_time
@@ -1955,11 +2179,11 @@ module Google
1955
2179
  # belonging to several parallel categories. Strongly recommended using the full
1956
2180
  # path for better search / recommendation quality. To represent full path of
1957
2181
  # category, use '>' sign to separate different hierarchies. If '>' is part of
1958
- # the category name, please replace it with other character(s). For example, if
1959
- # a shoes product belongs to both ["Shoes & Accessories" -> "Shoes"] and ["
1960
- # Sports & Fitness" -> "Athletic Clothing" -> "Shoes"], it could be represented
1961
- # as: "categories": [ "Shoes & Accessories > Shoes", "Sports & Fitness >
1962
- # Athletic Clothing > Shoes" ] Must be set for Type.PRIMARY Product otherwise an
2182
+ # the category name, replace it with other character(s). For example, if a shoes
2183
+ # product belongs to both ["Shoes & Accessories" -> "Shoes"] and ["Sports &
2184
+ # Fitness" -> "Athletic Clothing" -> "Shoes"], it could be represented as: "
2185
+ # categories": [ "Shoes & Accessories > Shoes", "Sports & Fitness > Athletic
2186
+ # Clothing > Shoes" ] Must be set for Type.PRIMARY Product otherwise an
1963
2187
  # INVALID_ARGUMENT error is returned. At most 250 values are allowed per Product.
1964
2188
  # Empty values are not allowed. Each value must be a UTF-8 encoded string with
1965
2189
  # a length limit of 5,000 characters. Otherwise, an INVALID_ARGUMENT error is
@@ -2006,7 +2230,10 @@ module Google
2006
2230
  attr_accessor :description
2007
2231
 
2008
2232
  # The timestamp when this product becomes unavailable for SearchService.Search.
2009
- # If it is set, the Product is not available for SearchService.Search after
2233
+ # Note that this is only applicable to Type.PRIMARY and Type.COLLECTION, and
2234
+ # ignored for Type.VARIANT. In general, we suggest the users to delete the stale
2235
+ # products explicitly, instead of using this field to determine staleness. If it
2236
+ # is set, the Product is not available for SearchService.Search after
2010
2237
  # expire_time. However, the product can still be retrieved by ProductService.
2011
2238
  # GetProduct and ProductService.ListProducts. expire_time must be later than
2012
2239
  # available_time and publish_time, otherwise an INVALID_ARGUMENT error is thrown.
@@ -2067,6 +2294,14 @@ module Google
2067
2294
  # @return [String]
2068
2295
  attr_accessor :language_code
2069
2296
 
2297
+ # Output only. A list of local inventories specific to different places. This is
2298
+ # only available for users who have Retail Search enabled, and it can be managed
2299
+ # by ProductService.AddLocalInventories and ProductService.
2300
+ # RemoveLocalInventories APIs.
2301
+ # Corresponds to the JSON property `localInventories`
2302
+ # @return [Array<Google::Apis::RetailV2::GoogleCloudRetailV2LocalInventory>]
2303
+ attr_accessor :local_inventories
2304
+
2070
2305
  # The material of the product. For example, "leather", "wooden". A maximum of 20
2071
2306
  # values are allowed. Each value must be a UTF-8 encoded string with a length
2072
2307
  # limit of 200 characters. Otherwise, an INVALID_ARGUMENT error is returned.
@@ -2185,7 +2420,10 @@ module Google
2185
2420
  # @return [String]
2186
2421
  attr_accessor :title
2187
2422
 
2188
- # Input only. The TTL (time to live) of the product. If it is set, it must be a
2423
+ # Input only. The TTL (time to live) of the product. Note that this is only
2424
+ # applicable to Type.PRIMARY and Type.COLLECTION, and ignored for Type.VARIANT.
2425
+ # In general, we suggest the users to delete the stale products explicitly,
2426
+ # instead of using this field to determine staleness. If it is set, it must be a
2189
2427
  # non-negative value, and expire_time is set as current timestamp plus ttl. The
2190
2428
  # derived expire_time is returned in the output and ttl is left blank when
2191
2429
  # retrieving the Product. If it is set, the product is not available for
@@ -2245,6 +2483,7 @@ module Google
2245
2483
  @id = args[:id] if args.key?(:id)
2246
2484
  @images = args[:images] if args.key?(:images)
2247
2485
  @language_code = args[:language_code] if args.key?(:language_code)
2486
+ @local_inventories = args[:local_inventories] if args.key?(:local_inventories)
2248
2487
  @materials = args[:materials] if args.key?(:materials)
2249
2488
  @name = args[:name] if args.key?(:name)
2250
2489
  @patterns = args[:patterns] if args.key?(:patterns)
@@ -2571,7 +2810,7 @@ module Google
2571
2810
  end
2572
2811
  end
2573
2812
 
2574
- # Metadata for RejoinUserEvents method.
2813
+ # Metadata for `RejoinUserEvents` method.
2575
2814
  class GoogleCloudRetailV2RejoinUserEventsMetadata
2576
2815
  include Google::Apis::Core::Hashable
2577
2816
 
@@ -2589,8 +2828,8 @@ module Google
2589
2828
  include Google::Apis::Core::Hashable
2590
2829
 
2591
2830
  # The type of the user event rejoin to define the scope and range of the user
2592
- # events to be rejoined with the latest product catalog. Defaults to
2593
- # USER_EVENT_REJOIN_SCOPE_UNSPECIFIED if this field is not set, or set to an
2831
+ # events to be rejoined with the latest product catalog. Defaults to `
2832
+ # USER_EVENT_REJOIN_SCOPE_UNSPECIFIED` if this field is not set, or set to an
2594
2833
  # invalid integer value.
2595
2834
  # Corresponds to the JSON property `userEventRejoinScope`
2596
2835
  # @return [String]
@@ -2606,7 +2845,7 @@ module Google
2606
2845
  end
2607
2846
  end
2608
2847
 
2609
- # Response message for RejoinUserEvents method.
2848
+ # Response message for `RejoinUserEvents` method.
2610
2849
  class GoogleCloudRetailV2RejoinUserEventsResponse
2611
2850
  include Google::Apis::Core::Hashable
2612
2851
 
@@ -2644,6 +2883,26 @@ module Google
2644
2883
  end
2645
2884
  end
2646
2885
 
2886
+ # Request for RemoveControl method.
2887
+ class GoogleCloudRetailV2RemoveControlRequest
2888
+ include Google::Apis::Core::Hashable
2889
+
2890
+ # Required. The id of the control to apply. Assumed to be in the same catalog as
2891
+ # the serving config.
2892
+ # Corresponds to the JSON property `controlId`
2893
+ # @return [String]
2894
+ attr_accessor :control_id
2895
+
2896
+ def initialize(**args)
2897
+ update!(**args)
2898
+ end
2899
+
2900
+ # Update properties of this object
2901
+ def update!(**args)
2902
+ @control_id = args[:control_id] if args.key?(:control_id)
2903
+ end
2904
+ end
2905
+
2647
2906
  # Metadata related to the progress of the RemoveFulfillmentPlaces operation.
2648
2907
  # Currently empty because there is no meaningful metadata populated from the
2649
2908
  # ProductService.RemoveFulfillmentPlaces method.
@@ -2796,6 +3055,361 @@ module Google
2796
3055
  end
2797
3056
  end
2798
3057
 
3058
+ # Request for CatalogService.ReplaceCatalogAttribute method.
3059
+ class GoogleCloudRetailV2ReplaceCatalogAttributeRequest
3060
+ include Google::Apis::Core::Hashable
3061
+
3062
+ # Catalog level attribute config for an attribute. For example, if customers
3063
+ # want to enable/disable facet for a specific attribute.
3064
+ # Corresponds to the JSON property `catalogAttribute`
3065
+ # @return [Google::Apis::RetailV2::GoogleCloudRetailV2CatalogAttribute]
3066
+ attr_accessor :catalog_attribute
3067
+
3068
+ # Indicates which fields in the provided CatalogAttribute to update. The
3069
+ # following are NOT supported: * CatalogAttribute.key If not set, all supported
3070
+ # fields are updated.
3071
+ # Corresponds to the JSON property `updateMask`
3072
+ # @return [String]
3073
+ attr_accessor :update_mask
3074
+
3075
+ def initialize(**args)
3076
+ update!(**args)
3077
+ end
3078
+
3079
+ # Update properties of this object
3080
+ def update!(**args)
3081
+ @catalog_attribute = args[:catalog_attribute] if args.key?(:catalog_attribute)
3082
+ @update_mask = args[:update_mask] if args.key?(:update_mask)
3083
+ end
3084
+ end
3085
+
3086
+ # A rule is a condition-action pair * A condition defines when a rule is to be
3087
+ # triggered. * An action specifies what occurs on that trigger. Currently rules
3088
+ # only work for controls with SOLUTION_TYPE_SEARCH.
3089
+ class GoogleCloudRetailV2Rule
3090
+ include Google::Apis::Core::Hashable
3091
+
3092
+ # A boost action to apply to results matching condition specified above.
3093
+ # Corresponds to the JSON property `boostAction`
3094
+ # @return [Google::Apis::RetailV2::GoogleCloudRetailV2RuleBoostAction]
3095
+ attr_accessor :boost_action
3096
+
3097
+ # Metadata that is used to define a condition that triggers an action. A valid
3098
+ # condition must specify at least one of 'query_terms' or 'products_filter'. If
3099
+ # multiple fields are specified, the condition is met if all the fields are
3100
+ # satisfied e.g. if a set of query terms and product_filter are set, then only
3101
+ # items matching the product_filter for requests with a query matching the query
3102
+ # terms wil get boosted.
3103
+ # Corresponds to the JSON property `condition`
3104
+ # @return [Google::Apis::RetailV2::GoogleCloudRetailV2Condition]
3105
+ attr_accessor :condition
3106
+
3107
+ # Prevents `query_term` from being associated with specified terms during search.
3108
+ # Example: Don't associate "gShoe" and "cheap".
3109
+ # Corresponds to the JSON property `doNotAssociateAction`
3110
+ # @return [Google::Apis::RetailV2::GoogleCloudRetailV2RuleDoNotAssociateAction]
3111
+ attr_accessor :do_not_associate_action
3112
+
3113
+ # * Rule Condition: - No Condition.query_terms provided is a global match. - 1
3114
+ # or more Condition.query_terms provided are combined with OR operator. * Action
3115
+ # Input: The request query and filter that are applied to the retrieved products,
3116
+ # in addition to any filters already provided with the SearchRequest. The AND
3117
+ # operator is used to combine the query's existing filters with the filter rule(
3118
+ # s). NOTE: May result in 0 results when filters conflict. * Action Result:
3119
+ # Filters the returned objects to be ONLY those that passed the filter.
3120
+ # Corresponds to the JSON property `filterAction`
3121
+ # @return [Google::Apis::RetailV2::GoogleCloudRetailV2RuleFilterAction]
3122
+ attr_accessor :filter_action
3123
+
3124
+ # Prevents a term in the query from being used in search. Example: Don't search
3125
+ # for "shoddy".
3126
+ # Corresponds to the JSON property `ignoreAction`
3127
+ # @return [Google::Apis::RetailV2::GoogleCloudRetailV2RuleIgnoreAction]
3128
+ attr_accessor :ignore_action
3129
+
3130
+ # Maps a set of terms to a set of synonyms. Set of synonyms will be treated as
3131
+ # synonyms of each query term only. `query_terms` will not be treated as
3132
+ # synonyms of each other. Example: "sneakers" will use a synonym of "shoes". "
3133
+ # shoes" will not use a synonym of "sneakers".
3134
+ # Corresponds to the JSON property `onewaySynonymsAction`
3135
+ # @return [Google::Apis::RetailV2::GoogleCloudRetailV2RuleOnewaySynonymsAction]
3136
+ attr_accessor :oneway_synonyms_action
3137
+
3138
+ # Redirects a shopper to a specific page. * Rule Condition: - Must specify
3139
+ # Condition.query_terms. * Action Input: Request Query * Action Result:
3140
+ # Redirects shopper to provided uri.
3141
+ # Corresponds to the JSON property `redirectAction`
3142
+ # @return [Google::Apis::RetailV2::GoogleCloudRetailV2RuleRedirectAction]
3143
+ attr_accessor :redirect_action
3144
+
3145
+ # Replaces a term in the query. Multiple replacement candidates can be specified.
3146
+ # All `query_terms` will be replaced with the replacement term. Example:
3147
+ # Replace "gShoe" with "google shoe".
3148
+ # Corresponds to the JSON property `replacementAction`
3149
+ # @return [Google::Apis::RetailV2::GoogleCloudRetailV2RuleReplacementAction]
3150
+ attr_accessor :replacement_action
3151
+
3152
+ # Creates a set of terms that will be treated as synonyms of each other. Example:
3153
+ # synonyms of "sneakers" and "shoes". * "sneakers" will use a synonym of "shoes"
3154
+ # . * "shoes" will use a synonym of "sneakers".
3155
+ # Corresponds to the JSON property `twowaySynonymsAction`
3156
+ # @return [Google::Apis::RetailV2::GoogleCloudRetailV2RuleTwowaySynonymsAction]
3157
+ attr_accessor :twoway_synonyms_action
3158
+
3159
+ def initialize(**args)
3160
+ update!(**args)
3161
+ end
3162
+
3163
+ # Update properties of this object
3164
+ def update!(**args)
3165
+ @boost_action = args[:boost_action] if args.key?(:boost_action)
3166
+ @condition = args[:condition] if args.key?(:condition)
3167
+ @do_not_associate_action = args[:do_not_associate_action] if args.key?(:do_not_associate_action)
3168
+ @filter_action = args[:filter_action] if args.key?(:filter_action)
3169
+ @ignore_action = args[:ignore_action] if args.key?(:ignore_action)
3170
+ @oneway_synonyms_action = args[:oneway_synonyms_action] if args.key?(:oneway_synonyms_action)
3171
+ @redirect_action = args[:redirect_action] if args.key?(:redirect_action)
3172
+ @replacement_action = args[:replacement_action] if args.key?(:replacement_action)
3173
+ @twoway_synonyms_action = args[:twoway_synonyms_action] if args.key?(:twoway_synonyms_action)
3174
+ end
3175
+ end
3176
+
3177
+ # A boost action to apply to results matching condition specified above.
3178
+ class GoogleCloudRetailV2RuleBoostAction
3179
+ include Google::Apis::Core::Hashable
3180
+
3181
+ # Strength of the condition boost, which must be in [-1, 1]. Negative boost
3182
+ # means demotion. Default is 0.0. Setting to 1.0 gives the item a big promotion.
3183
+ # However, it does not necessarily mean that the boosted item will be the top
3184
+ # result at all times, nor that other items will be excluded. Results could
3185
+ # still be shown even when none of them matches the condition. And results that
3186
+ # are significantly more relevant to the search query can still trump your
3187
+ # heavily favored but irrelevant items. Setting to -1.0 gives the item a big
3188
+ # demotion. However, results that are deeply relevant might still be shown. The
3189
+ # item will have an upstream battle to get a fairly high ranking, but it is not
3190
+ # blocked out completely. Setting to 0.0 means no boost applied. The boosting
3191
+ # condition is ignored.
3192
+ # Corresponds to the JSON property `boost`
3193
+ # @return [Float]
3194
+ attr_accessor :boost
3195
+
3196
+ # The filter can have a max size of 5000 characters. An expression which
3197
+ # specifies which products to apply an action to. The syntax and supported
3198
+ # fields are the same as a filter expression. See SearchRequest.filter for
3199
+ # detail syntax and limitations. Examples: * To boost products with product ID "
3200
+ # product_1" or "product_2", and color "Red" or "Blue": *(id: ANY("product_1", "
3201
+ # product_2")) * *AND * *(colorFamilies: ANY("Red", "Blue")) *
3202
+ # Corresponds to the JSON property `productsFilter`
3203
+ # @return [String]
3204
+ attr_accessor :products_filter
3205
+
3206
+ def initialize(**args)
3207
+ update!(**args)
3208
+ end
3209
+
3210
+ # Update properties of this object
3211
+ def update!(**args)
3212
+ @boost = args[:boost] if args.key?(:boost)
3213
+ @products_filter = args[:products_filter] if args.key?(:products_filter)
3214
+ end
3215
+ end
3216
+
3217
+ # Prevents `query_term` from being associated with specified terms during search.
3218
+ # Example: Don't associate "gShoe" and "cheap".
3219
+ class GoogleCloudRetailV2RuleDoNotAssociateAction
3220
+ include Google::Apis::Core::Hashable
3221
+
3222
+ # Cannot contain duplicates or the query term. Can specify up to 100 terms.
3223
+ # Corresponds to the JSON property `doNotAssociateTerms`
3224
+ # @return [Array<String>]
3225
+ attr_accessor :do_not_associate_terms
3226
+
3227
+ # Terms from the search query. Will not consider do_not_associate_terms for
3228
+ # search if in search query. Can specify up to 100 terms.
3229
+ # Corresponds to the JSON property `queryTerms`
3230
+ # @return [Array<String>]
3231
+ attr_accessor :query_terms
3232
+
3233
+ # Will be [deprecated = true] post migration;
3234
+ # Corresponds to the JSON property `terms`
3235
+ # @return [Array<String>]
3236
+ attr_accessor :terms
3237
+
3238
+ def initialize(**args)
3239
+ update!(**args)
3240
+ end
3241
+
3242
+ # Update properties of this object
3243
+ def update!(**args)
3244
+ @do_not_associate_terms = args[:do_not_associate_terms] if args.key?(:do_not_associate_terms)
3245
+ @query_terms = args[:query_terms] if args.key?(:query_terms)
3246
+ @terms = args[:terms] if args.key?(:terms)
3247
+ end
3248
+ end
3249
+
3250
+ # * Rule Condition: - No Condition.query_terms provided is a global match. - 1
3251
+ # or more Condition.query_terms provided are combined with OR operator. * Action
3252
+ # Input: The request query and filter that are applied to the retrieved products,
3253
+ # in addition to any filters already provided with the SearchRequest. The AND
3254
+ # operator is used to combine the query's existing filters with the filter rule(
3255
+ # s). NOTE: May result in 0 results when filters conflict. * Action Result:
3256
+ # Filters the returned objects to be ONLY those that passed the filter.
3257
+ class GoogleCloudRetailV2RuleFilterAction
3258
+ include Google::Apis::Core::Hashable
3259
+
3260
+ # A filter to apply on the matching condition results. Supported features: *
3261
+ # filter must be set. * Filter syntax is identical to SearchRequest.filter. See
3262
+ # more details at the Retail Search [user guide](/retail/search/docs/filter-and-
3263
+ # order#filter). * To filter products with product ID "product_1" or "product_2",
3264
+ # and color "Red" or "Blue": *(id: ANY("product_1", "product_2")) * *AND * *(
3265
+ # colorFamilies: ANY("Red", "Blue")) *
3266
+ # Corresponds to the JSON property `filter`
3267
+ # @return [String]
3268
+ attr_accessor :filter
3269
+
3270
+ def initialize(**args)
3271
+ update!(**args)
3272
+ end
3273
+
3274
+ # Update properties of this object
3275
+ def update!(**args)
3276
+ @filter = args[:filter] if args.key?(:filter)
3277
+ end
3278
+ end
3279
+
3280
+ # Prevents a term in the query from being used in search. Example: Don't search
3281
+ # for "shoddy".
3282
+ class GoogleCloudRetailV2RuleIgnoreAction
3283
+ include Google::Apis::Core::Hashable
3284
+
3285
+ # Terms to ignore in the search query.
3286
+ # Corresponds to the JSON property `ignoreTerms`
3287
+ # @return [Array<String>]
3288
+ attr_accessor :ignore_terms
3289
+
3290
+ def initialize(**args)
3291
+ update!(**args)
3292
+ end
3293
+
3294
+ # Update properties of this object
3295
+ def update!(**args)
3296
+ @ignore_terms = args[:ignore_terms] if args.key?(:ignore_terms)
3297
+ end
3298
+ end
3299
+
3300
+ # Maps a set of terms to a set of synonyms. Set of synonyms will be treated as
3301
+ # synonyms of each query term only. `query_terms` will not be treated as
3302
+ # synonyms of each other. Example: "sneakers" will use a synonym of "shoes". "
3303
+ # shoes" will not use a synonym of "sneakers".
3304
+ class GoogleCloudRetailV2RuleOnewaySynonymsAction
3305
+ include Google::Apis::Core::Hashable
3306
+
3307
+ # Will be [deprecated = true] post migration;
3308
+ # Corresponds to the JSON property `onewayTerms`
3309
+ # @return [Array<String>]
3310
+ attr_accessor :oneway_terms
3311
+
3312
+ # Terms from the search query. Will treat synonyms as their synonyms. Not
3313
+ # themselves synonyms of the synonyms. Can specify up to 100 terms.
3314
+ # Corresponds to the JSON property `queryTerms`
3315
+ # @return [Array<String>]
3316
+ attr_accessor :query_terms
3317
+
3318
+ # Defines a set of synonyms. Cannot contain duplicates. Can specify up to 100
3319
+ # synonyms.
3320
+ # Corresponds to the JSON property `synonyms`
3321
+ # @return [Array<String>]
3322
+ attr_accessor :synonyms
3323
+
3324
+ def initialize(**args)
3325
+ update!(**args)
3326
+ end
3327
+
3328
+ # Update properties of this object
3329
+ def update!(**args)
3330
+ @oneway_terms = args[:oneway_terms] if args.key?(:oneway_terms)
3331
+ @query_terms = args[:query_terms] if args.key?(:query_terms)
3332
+ @synonyms = args[:synonyms] if args.key?(:synonyms)
3333
+ end
3334
+ end
3335
+
3336
+ # Redirects a shopper to a specific page. * Rule Condition: - Must specify
3337
+ # Condition.query_terms. * Action Input: Request Query * Action Result:
3338
+ # Redirects shopper to provided uri.
3339
+ class GoogleCloudRetailV2RuleRedirectAction
3340
+ include Google::Apis::Core::Hashable
3341
+
3342
+ # URL must have length equal or less than 2000 characters.
3343
+ # Corresponds to the JSON property `redirectUri`
3344
+ # @return [String]
3345
+ attr_accessor :redirect_uri
3346
+
3347
+ def initialize(**args)
3348
+ update!(**args)
3349
+ end
3350
+
3351
+ # Update properties of this object
3352
+ def update!(**args)
3353
+ @redirect_uri = args[:redirect_uri] if args.key?(:redirect_uri)
3354
+ end
3355
+ end
3356
+
3357
+ # Replaces a term in the query. Multiple replacement candidates can be specified.
3358
+ # All `query_terms` will be replaced with the replacement term. Example:
3359
+ # Replace "gShoe" with "google shoe".
3360
+ class GoogleCloudRetailV2RuleReplacementAction
3361
+ include Google::Apis::Core::Hashable
3362
+
3363
+ # Terms from the search query. Will be replaced by replacement term. Can specify
3364
+ # up to 100 terms.
3365
+ # Corresponds to the JSON property `queryTerms`
3366
+ # @return [Array<String>]
3367
+ attr_accessor :query_terms
3368
+
3369
+ # Term that will be used for replacement.
3370
+ # Corresponds to the JSON property `replacementTerm`
3371
+ # @return [String]
3372
+ attr_accessor :replacement_term
3373
+
3374
+ # Will be [deprecated = true] post migration;
3375
+ # Corresponds to the JSON property `term`
3376
+ # @return [String]
3377
+ attr_accessor :term
3378
+
3379
+ def initialize(**args)
3380
+ update!(**args)
3381
+ end
3382
+
3383
+ # Update properties of this object
3384
+ def update!(**args)
3385
+ @query_terms = args[:query_terms] if args.key?(:query_terms)
3386
+ @replacement_term = args[:replacement_term] if args.key?(:replacement_term)
3387
+ @term = args[:term] if args.key?(:term)
3388
+ end
3389
+ end
3390
+
3391
+ # Creates a set of terms that will be treated as synonyms of each other. Example:
3392
+ # synonyms of "sneakers" and "shoes". * "sneakers" will use a synonym of "shoes"
3393
+ # . * "shoes" will use a synonym of "sneakers".
3394
+ class GoogleCloudRetailV2RuleTwowaySynonymsAction
3395
+ include Google::Apis::Core::Hashable
3396
+
3397
+ # Defines a set of synonyms. Can specify up to 100 synonyms. Must specify at
3398
+ # least 2 synonyms.
3399
+ # Corresponds to the JSON property `synonyms`
3400
+ # @return [Array<String>]
3401
+ attr_accessor :synonyms
3402
+
3403
+ def initialize(**args)
3404
+ update!(**args)
3405
+ end
3406
+
3407
+ # Update properties of this object
3408
+ def update!(**args)
3409
+ @synonyms = args[:synonyms] if args.key?(:synonyms)
3410
+ end
3411
+ end
3412
+
2799
3413
  # Request message for SearchService.Search method.
2800
3414
  class GoogleCloudRetailV2SearchRequest
2801
3415
  include Google::Apis::Core::Hashable
@@ -2880,9 +3494,9 @@ module Google
2880
3494
  # navigation queries to achieve good search quality. The format should be the
2881
3495
  # same as UserEvent.page_categories; To represent full path of category, use '>'
2882
3496
  # sign to separate different hierarchies. If '>' is part of the category name,
2883
- # please replace it with other character(s). Category pages include special
2884
- # pages such as sales or promotions. For instance, a special sale page may have
2885
- # the category hierarchy: "pageCategories" : ["Sales > 2017 Black Friday Deals"].
3497
+ # replace it with other character(s). Category pages include special pages such
3498
+ # as sales or promotions. For instance, a special sale page may have the
3499
+ # category hierarchy: "pageCategories" : ["Sales > 2017 Black Friday Deals"].
2886
3500
  # Corresponds to the JSON property `pageCategories`
2887
3501
  # @return [Array<String>]
2888
3502
  attr_accessor :page_categories
@@ -3607,6 +4221,193 @@ module Google
3607
4221
  end
3608
4222
  end
3609
4223
 
4224
+ # Configures metadata that is used to generate serving time results (e.g. search
4225
+ # results or recommendation predictions).
4226
+ class GoogleCloudRetailV2ServingConfig
4227
+ include Google::Apis::Core::Hashable
4228
+
4229
+ # Condition boost specifications. If a product matches multiple conditions in
4230
+ # the specifications, boost scores from these specifications are all applied and
4231
+ # combined in a non-linear way. Maximum number of specifications is 100. Notice
4232
+ # that if both ServingConfig.boost_control_ids and SearchRequest.boost_spec are
4233
+ # set, the boost conditions from both places are evaluated. If a search request
4234
+ # matches multiple boost conditions, the final boost score is equal to the sum
4235
+ # of the boost scores from all matched boost conditions. Can only be set if
4236
+ # solution_types is SOLUTION_TYPE_SEARCH.
4237
+ # Corresponds to the JSON property `boostControlIds`
4238
+ # @return [Array<String>]
4239
+ attr_accessor :boost_control_ids
4240
+
4241
+ # Required. The human readable serving config display name. Used in Retail UI.
4242
+ # This field must be a UTF-8 encoded string with a length limit of 128
4243
+ # characters. Otherwise, an INVALID_ARGUMENT error is returned.
4244
+ # Corresponds to the JSON property `displayName`
4245
+ # @return [String]
4246
+ attr_accessor :display_name
4247
+
4248
+ # How much diversity to use in recommendation model results e.g. `medium-
4249
+ # diversity` or `high-diversity`. Currently supported values: * `no-diversity` *
4250
+ # `low-diversity` * `medium-diversity` * `high-diversity` * `auto-diversity` If
4251
+ # not specified, we choose default based on recommendation model type. Default
4252
+ # value: `no-diversity`. Can only be set if solution_types is
4253
+ # SOLUTION_TYPE_RECOMMENDATION.
4254
+ # Corresponds to the JSON property `diversityLevel`
4255
+ # @return [String]
4256
+ attr_accessor :diversity_level
4257
+
4258
+ # What kind of diversity to use - data driven or rule based.
4259
+ # Corresponds to the JSON property `diversityType`
4260
+ # @return [String]
4261
+ attr_accessor :diversity_type
4262
+
4263
+ # Condition do not associate specifications. If multiple do not associate
4264
+ # conditions match, all matching do not associate controls in the list will
4265
+ # execute. - Order does not matter. - Maximum number of specifications is 100.
4266
+ # Can only be set if solution_types is SOLUTION_TYPE_SEARCH.
4267
+ # Corresponds to the JSON property `doNotAssociateControlIds`
4268
+ # @return [Array<String>]
4269
+ attr_accessor :do_not_associate_control_ids
4270
+
4271
+ # The specifications of dynamically generated facets.
4272
+ # Corresponds to the JSON property `dynamicFacetSpec`
4273
+ # @return [Google::Apis::RetailV2::GoogleCloudRetailV2SearchRequestDynamicFacetSpec]
4274
+ attr_accessor :dynamic_facet_spec
4275
+
4276
+ # Whether to add additional category filters on the `similar-items` model. If
4277
+ # not specified, we enable it by default. Allowed values are: * `no-category-
4278
+ # match`: No additional filtering of original results from the model and the
4279
+ # customer's filters. * `relaxed-category-match`: Only keep results with
4280
+ # categories that match at least one item categories in the PredictRequests's
4281
+ # context item. * If customer also sends filters in the PredictRequest, then the
4282
+ # results will satisfy both conditions (user given and category match). Can only
4283
+ # be set if solution_types is SOLUTION_TYPE_RECOMMENDATION.
4284
+ # Corresponds to the JSON property `enableCategoryFilterLevel`
4285
+ # @return [String]
4286
+ attr_accessor :enable_category_filter_level
4287
+
4288
+ # Facet specifications for faceted search. If empty, no facets are returned. The
4289
+ # ids refer to the ids of Control resources with only the Facet control set.
4290
+ # These controls are assumed to be in the same Catalog as the ServingConfig. A
4291
+ # maximum of 100 values are allowed. Otherwise, an INVALID_ARGUMENT error is
4292
+ # returned. Can only be set if solution_types is SOLUTION_TYPE_SEARCH.
4293
+ # Corresponds to the JSON property `facetControlIds`
4294
+ # @return [Array<String>]
4295
+ attr_accessor :facet_control_ids
4296
+
4297
+ # Condition filter specifications. If a product matches multiple conditions in
4298
+ # the specifications, filters from these specifications are all applied and
4299
+ # combined via the AND operator. Maximum number of specifications is 100. Can
4300
+ # only be set if solution_types is SOLUTION_TYPE_SEARCH.
4301
+ # Corresponds to the JSON property `filterControlIds`
4302
+ # @return [Array<String>]
4303
+ attr_accessor :filter_control_ids
4304
+
4305
+ # Condition ignore specifications. If multiple ignore conditions match, all
4306
+ # matching ignore controls in the list will execute. - Order does not matter. -
4307
+ # Maximum number of specifications is 100. Can only be set if solution_types is
4308
+ # SOLUTION_TYPE_SEARCH.
4309
+ # Corresponds to the JSON property `ignoreControlIds`
4310
+ # @return [Array<String>]
4311
+ attr_accessor :ignore_control_ids
4312
+
4313
+ # The id of the model in the same Catalog to use at serving time. Currently only
4314
+ # RecommendationModels are supported: https://cloud.google.com/retail/
4315
+ # recommendations-ai/docs/create-models Can be changed but only to a compatible
4316
+ # model (e.g. others-you-may-like CTR to others-you-may-like CVR). Required when
4317
+ # solution_types is SOLUTION_TYPE_RECOMMENDATION.
4318
+ # Corresponds to the JSON property `modelId`
4319
+ # @return [String]
4320
+ attr_accessor :model_id
4321
+
4322
+ # Immutable. Fully qualified name `projects/*/locations/global/catalogs/*/
4323
+ # servingConfig/*`
4324
+ # Corresponds to the JSON property `name`
4325
+ # @return [String]
4326
+ attr_accessor :name
4327
+
4328
+ # Condition oneway synonyms specifications. If multiple oneway synonyms
4329
+ # conditions match, all matching oneway synonyms controls in the list will
4330
+ # execute. Order of controls in the list will not matter. Maximum number of
4331
+ # specifications is 100. Can only be set if solution_types is
4332
+ # SOLUTION_TYPE_SEARCH.
4333
+ # Corresponds to the JSON property `onewaySynonymsControlIds`
4334
+ # @return [Array<String>]
4335
+ attr_accessor :oneway_synonyms_control_ids
4336
+
4337
+ # The specification for personalization.
4338
+ # Corresponds to the JSON property `personalizationSpec`
4339
+ # @return [Google::Apis::RetailV2::GoogleCloudRetailV2SearchRequestPersonalizationSpec]
4340
+ attr_accessor :personalization_spec
4341
+
4342
+ # How much price ranking we want in serving results. Price reranking causes
4343
+ # product items with a similar recommendation probability to be ordered by price,
4344
+ # with the highest-priced items first. This setting could result in a decrease
4345
+ # in click-through and conversion rates. Allowed values are: * `no-price-
4346
+ # reranking` * `low-price-raranking` * `medium-price-reranking` * `high-price-
4347
+ # reranking` If not specified, we choose default based on model type. Default
4348
+ # value: `no-price-reranking`. Can only be set if solution_types is
4349
+ # SOLUTION_TYPE_RECOMMENDATION.
4350
+ # Corresponds to the JSON property `priceRerankingLevel`
4351
+ # @return [String]
4352
+ attr_accessor :price_reranking_level
4353
+
4354
+ # Condition redirect specifications. Only the first triggered redirect action is
4355
+ # applied, even if multiple apply. Maximum number of specifications is 1000. Can
4356
+ # only be set if solution_types is SOLUTION_TYPE_SEARCH.
4357
+ # Corresponds to the JSON property `redirectControlIds`
4358
+ # @return [Array<String>]
4359
+ attr_accessor :redirect_control_ids
4360
+
4361
+ # Condition replacement specifications. - Applied according to the order in the
4362
+ # list. - A previously replaced term can not be re-replaced. - Maximum number of
4363
+ # specifications is 100. Can only be set if solution_types is
4364
+ # SOLUTION_TYPE_SEARCH.
4365
+ # Corresponds to the JSON property `replacementControlIds`
4366
+ # @return [Array<String>]
4367
+ attr_accessor :replacement_control_ids
4368
+
4369
+ # Required. Immutable. Specifies the solution types that a serving config can be
4370
+ # associated with. Currently we support setting only one type of solution.
4371
+ # Corresponds to the JSON property `solutionTypes`
4372
+ # @return [Array<String>]
4373
+ attr_accessor :solution_types
4374
+
4375
+ # Condition synonyms specifications. If multiple syonyms conditions match, all
4376
+ # matching synonyms control in the list will execute. Order of controls in the
4377
+ # list will not matter. Maximum number of specifications is 100. Can only be set
4378
+ # if solution_types is SOLUTION_TYPE_SEARCH.
4379
+ # Corresponds to the JSON property `twowaySynonymsControlIds`
4380
+ # @return [Array<String>]
4381
+ attr_accessor :twoway_synonyms_control_ids
4382
+
4383
+ def initialize(**args)
4384
+ update!(**args)
4385
+ end
4386
+
4387
+ # Update properties of this object
4388
+ def update!(**args)
4389
+ @boost_control_ids = args[:boost_control_ids] if args.key?(:boost_control_ids)
4390
+ @display_name = args[:display_name] if args.key?(:display_name)
4391
+ @diversity_level = args[:diversity_level] if args.key?(:diversity_level)
4392
+ @diversity_type = args[:diversity_type] if args.key?(:diversity_type)
4393
+ @do_not_associate_control_ids = args[:do_not_associate_control_ids] if args.key?(:do_not_associate_control_ids)
4394
+ @dynamic_facet_spec = args[:dynamic_facet_spec] if args.key?(:dynamic_facet_spec)
4395
+ @enable_category_filter_level = args[:enable_category_filter_level] if args.key?(:enable_category_filter_level)
4396
+ @facet_control_ids = args[:facet_control_ids] if args.key?(:facet_control_ids)
4397
+ @filter_control_ids = args[:filter_control_ids] if args.key?(:filter_control_ids)
4398
+ @ignore_control_ids = args[:ignore_control_ids] if args.key?(:ignore_control_ids)
4399
+ @model_id = args[:model_id] if args.key?(:model_id)
4400
+ @name = args[:name] if args.key?(:name)
4401
+ @oneway_synonyms_control_ids = args[:oneway_synonyms_control_ids] if args.key?(:oneway_synonyms_control_ids)
4402
+ @personalization_spec = args[:personalization_spec] if args.key?(:personalization_spec)
4403
+ @price_reranking_level = args[:price_reranking_level] if args.key?(:price_reranking_level)
4404
+ @redirect_control_ids = args[:redirect_control_ids] if args.key?(:redirect_control_ids)
4405
+ @replacement_control_ids = args[:replacement_control_ids] if args.key?(:replacement_control_ids)
4406
+ @solution_types = args[:solution_types] if args.key?(:solution_types)
4407
+ @twoway_synonyms_control_ids = args[:twoway_synonyms_control_ids] if args.key?(:twoway_synonyms_control_ids)
4408
+ end
4409
+ end
4410
+
3610
4411
  # Request message to set a specified branch as new default_branch.
3611
4412
  class GoogleCloudRetailV2SetDefaultBranchRequest
3612
4413
  include Google::Apis::Core::Hashable
@@ -3829,12 +4630,12 @@ module Google
3829
4630
 
3830
4631
  # The categories associated with a category page. To represent full path of
3831
4632
  # category, use '>' sign to separate different hierarchies. If '>' is part of
3832
- # the category name, please replace it with other character(s). Category pages
3833
- # include special pages such as sales or promotions. For instance, a special
3834
- # sale page may have the category hierarchy: "pageCategories" : ["Sales > 2017
3835
- # Black Friday Deals"]. Required for `category-page-view` events. At least one
3836
- # of search_query or page_categories is required for `search` events. Other
3837
- # event types should not set this field. Otherwise, an INVALID_ARGUMENT error is
4633
+ # the category name, replace it with other character(s). Category pages include
4634
+ # special pages such as sales or promotions. For instance, a special sale page
4635
+ # may have the category hierarchy: "pageCategories" : ["Sales > 2017 Black
4636
+ # Friday Deals"]. Required for `category-page-view` events. At least one of
4637
+ # search_query or page_categories is required for `search` events. Other event
4638
+ # types should not set this field. Otherwise, an INVALID_ARGUMENT error is
3838
4639
  # returned.
3839
4640
  # Corresponds to the JSON property `pageCategories`
3840
4641
  # @return [Array<String>]
@@ -4172,8 +4973,9 @@ module Google
4172
4973
  class GoogleCloudRetailV2alphaCreateModelMetadata
4173
4974
  include Google::Apis::Core::Hashable
4174
4975
 
4175
- # The resource name of the model that this create applies to. Format: projects/`
4976
+ # The resource name of the model that this create applies to. Format: `projects/`
4176
4977
  # project_number`/locations/`location_id`/catalogs/`catalog_id`/models/`model_id`
4978
+ # `
4177
4979
  # Corresponds to the JSON property `model`
4178
4980
  # @return [String]
4179
4981
  attr_accessor :model
@@ -4209,8 +5011,8 @@ module Google
4209
5011
  end
4210
5012
  end
4211
5013
 
4212
- # Metadata related to the progress of the Export operation. This will be
4213
- # returned by the google.longrunning.Operation.metadata field.
5014
+ # Metadata related to the progress of the Export operation. This is returned by
5015
+ # the google.longrunning.Operation.metadata field.
4214
5016
  class GoogleCloudRetailV2alphaExportMetadata
4215
5017
  include Google::Apis::Core::Hashable
4216
5018
 
@@ -4515,7 +5317,13 @@ module Google
4515
5317
  # ctr`, `cvr`, `revenue-per-order`. If not specified, we choose default based on
4516
5318
  # model type. Default depends on type of recommendation: `recommended-for-you` =>
4517
5319
  # `ctr` `others-you-may-like` => `ctr` `frequently-bought-together` => `
4518
- # revenue_per_order`
5320
+ # revenue_per_order` This field together with optimization_objective describe
5321
+ # model metadata to use to control model training and serving. See https://cloud.
5322
+ # google.com/retail/docs/models for more details on what the model metadata
5323
+ # control and which combination of parameters are valid. For invalid
5324
+ # combinations of parameters (e.g. type = `frequently-bought-together` and
5325
+ # optimization_objective = `ctr`), you receive an error 400 if you try to create/
5326
+ # update a recommendation with this set of knobs.
4519
5327
  # Corresponds to the JSON property `optimizationObjective`
4520
5328
  # @return [String]
4521
5329
  attr_accessor :optimization_objective
@@ -4565,7 +5373,13 @@ module Google
4565
5373
  # Required. The type of model e.g. `home-page`. Currently supported values: `
4566
5374
  # recommended-for-you`, `others-you-may-like`, `frequently-bought-together`, `
4567
5375
  # page-optimization`, `similar-items`, `buy-it-again`, and `recently-viewed`(
4568
- # readonly value).
5376
+ # readonly value). This field together with optimization_objective describe
5377
+ # model metadata to use to control model training and serving. See https://cloud.
5378
+ # google.com/retail/docs/models for more details on what the model metadata
5379
+ # control and which combination of parameters are valid. For invalid
5380
+ # combinations of parameters (e.g. type = `frequently-bought-together` and
5381
+ # optimization_objective = `ctr`), you receive an error 400 if you try to create/
5382
+ # update a recommendation with this set of knobs.
4569
5383
  # Corresponds to the JSON property `type`
4570
5384
  # @return [String]
4571
5385
  attr_accessor :type
@@ -4842,7 +5656,7 @@ module Google
4842
5656
  end
4843
5657
  end
4844
5658
 
4845
- # Metadata for RejoinUserEvents method.
5659
+ # Metadata for `RejoinUserEvents` method.
4846
5660
  class GoogleCloudRetailV2alphaRejoinUserEventsMetadata
4847
5661
  include Google::Apis::Core::Hashable
4848
5662
 
@@ -4855,7 +5669,7 @@ module Google
4855
5669
  end
4856
5670
  end
4857
5671
 
4858
- # Response message for RejoinUserEvents method.
5672
+ # Response message for `RejoinUserEvents` method.
4859
5673
  class GoogleCloudRetailV2alphaRejoinUserEventsResponse
4860
5674
  include Google::Apis::Core::Hashable
4861
5675
 
@@ -4993,8 +5807,9 @@ module Google
4993
5807
  class GoogleCloudRetailV2alphaTuneModelMetadata
4994
5808
  include Google::Apis::Core::Hashable
4995
5809
 
4996
- # The resource name of the model that this tune applies to. Format: projects/`
5810
+ # The resource name of the model that this tune applies to. Format: `projects/`
4997
5811
  # project_number`/locations/`location_id`/catalogs/`catalog_id`/models/`model_id`
5812
+ # `
4998
5813
  # Corresponds to the JSON property `model`
4999
5814
  # @return [String]
5000
5815
  attr_accessor :model
@@ -5155,8 +5970,8 @@ module Google
5155
5970
  end
5156
5971
  end
5157
5972
 
5158
- # Metadata related to the progress of the Export operation. This will be
5159
- # returned by the google.longrunning.Operation.metadata field.
5973
+ # Metadata related to the progress of the Export operation. This is returned by
5974
+ # the google.longrunning.Operation.metadata field.
5160
5975
  class GoogleCloudRetailV2betaExportMetadata
5161
5976
  include Google::Apis::Core::Hashable
5162
5977
 
@@ -5459,7 +6274,7 @@ module Google
5459
6274
  end
5460
6275
  end
5461
6276
 
5462
- # Metadata for RejoinUserEvents method.
6277
+ # Metadata for `RejoinUserEvents` method.
5463
6278
  class GoogleCloudRetailV2betaRejoinUserEventsMetadata
5464
6279
  include Google::Apis::Core::Hashable
5465
6280
 
@@ -5472,7 +6287,7 @@ module Google
5472
6287
  end
5473
6288
  end
5474
6289
 
5475
- # Response message for RejoinUserEvents method.
6290
+ # Response message for `RejoinUserEvents` method.
5476
6291
  class GoogleCloudRetailV2betaRejoinUserEventsResponse
5477
6292
  include Google::Apis::Core::Hashable
5478
6293