google-cloud-retail-v2 0.10.0 → 0.11.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 (45) hide show
  1. checksums.yaml +4 -4
  2. data/lib/google/cloud/retail/v2/catalog_pb.rb +55 -0
  3. data/lib/google/cloud/retail/v2/catalog_service/client.rb +718 -0
  4. data/lib/google/cloud/retail/v2/catalog_service/paths.rb +38 -0
  5. data/lib/google/cloud/retail/v2/catalog_service_pb.rb +34 -0
  6. data/lib/google/cloud/retail/v2/catalog_service_services_pb.rb +38 -0
  7. data/lib/google/cloud/retail/v2/common_pb.rb +86 -0
  8. data/lib/google/cloud/retail/v2/completion_service/client.rb +4 -3
  9. data/lib/google/cloud/retail/v2/control_pb.rb +33 -0
  10. data/lib/google/cloud/retail/v2/control_service/client.rb +807 -0
  11. data/lib/google/cloud/retail/v2/control_service/credentials.rb +51 -0
  12. data/lib/google/cloud/retail/v2/control_service/paths.rb +73 -0
  13. data/lib/google/cloud/retail/v2/control_service.rb +49 -0
  14. data/lib/google/cloud/retail/v2/control_service_pb.rb +57 -0
  15. data/lib/google/cloud/retail/v2/control_service_services_pb.rb +65 -0
  16. data/lib/google/cloud/retail/v2/prediction_service_pb.rb +0 -1
  17. data/lib/google/cloud/retail/v2/product_pb.rb +1 -0
  18. data/lib/google/cloud/retail/v2/product_service/client.rb +42 -12
  19. data/lib/google/cloud/retail/v2/product_service_services_pb.rb +35 -0
  20. data/lib/google/cloud/retail/v2/search_service/client.rb +12 -1
  21. data/lib/google/cloud/retail/v2/search_service_pb.rb +1 -0
  22. data/lib/google/cloud/retail/v2/serving_config_pb.rb +44 -0
  23. data/lib/google/cloud/retail/v2/serving_config_service/client.rb +998 -0
  24. data/lib/google/cloud/retail/v2/serving_config_service/credentials.rb +51 -0
  25. data/lib/google/cloud/retail/v2/serving_config_service/paths.rb +73 -0
  26. data/lib/google/cloud/retail/v2/serving_config_service.rb +49 -0
  27. data/lib/google/cloud/retail/v2/serving_config_service_pb.rb +66 -0
  28. data/lib/google/cloud/retail/v2/serving_config_service_services_pb.rb +74 -0
  29. data/lib/google/cloud/retail/v2/user_event_service/client.rb +2 -2
  30. data/lib/google/cloud/retail/v2/user_event_service_pb.rb +0 -1
  31. data/lib/google/cloud/retail/v2/user_event_service_services_pb.rb +2 -2
  32. data/lib/google/cloud/retail/v2/version.rb +1 -1
  33. data/lib/google/cloud/retail/v2.rb +2 -0
  34. data/proto_docs/google/cloud/retail/v2/catalog.rb +233 -0
  35. data/proto_docs/google/cloud/retail/v2/catalog_service.rb +133 -0
  36. data/proto_docs/google/cloud/retail/v2/common.rb +314 -4
  37. data/proto_docs/google/cloud/retail/v2/completion_service.rb +2 -1
  38. data/proto_docs/google/cloud/retail/v2/control.rb +76 -0
  39. data/proto_docs/google/cloud/retail/v2/control_service.rb +122 -0
  40. data/proto_docs/google/cloud/retail/v2/import_config.rb +20 -35
  41. data/proto_docs/google/cloud/retail/v2/product.rb +7 -1
  42. data/proto_docs/google/cloud/retail/v2/search_service.rb +29 -2
  43. data/proto_docs/google/cloud/retail/v2/serving_config.rb +238 -0
  44. data/proto_docs/google/cloud/retail/v2/serving_config_service.rb +143 -0
  45. metadata +20 -2
@@ -0,0 +1,122 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2022 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Cloud
22
+ module Retail
23
+ module V2
24
+ # Request for CreateControl method.
25
+ # @!attribute [rw] parent
26
+ # @return [::String]
27
+ # Required. Full resource name of parent catalog. Format:
28
+ # `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}`
29
+ # @!attribute [rw] control
30
+ # @return [::Google::Cloud::Retail::V2::Control]
31
+ # Required. The Control to create.
32
+ # @!attribute [rw] control_id
33
+ # @return [::String]
34
+ # Required. The ID to use for the Control, which will become the final
35
+ # component of the Control's resource name.
36
+ #
37
+ # This value should be 4-63 characters, and valid characters
38
+ # are /[a-z][0-9]-_/.
39
+ class CreateControlRequest
40
+ include ::Google::Protobuf::MessageExts
41
+ extend ::Google::Protobuf::MessageExts::ClassMethods
42
+ end
43
+
44
+ # Request for UpdateControl method.
45
+ # @!attribute [rw] control
46
+ # @return [::Google::Cloud::Retail::V2::Control]
47
+ # Required. The Control to update.
48
+ # @!attribute [rw] update_mask
49
+ # @return [::Google::Protobuf::FieldMask]
50
+ # Indicates which fields in the provided
51
+ # {::Google::Cloud::Retail::V2::Control Control} to update. The following are NOT
52
+ # supported:
53
+ #
54
+ # * {::Google::Cloud::Retail::V2::Control#name Control.name}
55
+ #
56
+ # If not set or empty, all supported fields are updated.
57
+ class UpdateControlRequest
58
+ include ::Google::Protobuf::MessageExts
59
+ extend ::Google::Protobuf::MessageExts::ClassMethods
60
+ end
61
+
62
+ # Request for DeleteControl method.
63
+ # @!attribute [rw] name
64
+ # @return [::String]
65
+ # Required. The resource name of the Control to delete. Format:
66
+ # `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/controls/{control_id}`
67
+ class DeleteControlRequest
68
+ include ::Google::Protobuf::MessageExts
69
+ extend ::Google::Protobuf::MessageExts::ClassMethods
70
+ end
71
+
72
+ # Request for GetControl method.
73
+ # @!attribute [rw] name
74
+ # @return [::String]
75
+ # Required. The resource name of the Control to get. Format:
76
+ # `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/controls/{control_id}`
77
+ class GetControlRequest
78
+ include ::Google::Protobuf::MessageExts
79
+ extend ::Google::Protobuf::MessageExts::ClassMethods
80
+ end
81
+
82
+ # Request for ListControls method.
83
+ # @!attribute [rw] parent
84
+ # @return [::String]
85
+ # Required. The catalog resource name. Format:
86
+ # `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}`
87
+ # @!attribute [rw] page_size
88
+ # @return [::Integer]
89
+ # Optional. Maximum number of results to return. If unspecified, defaults
90
+ # to 50. Max allowed value is 1000.
91
+ # @!attribute [rw] page_token
92
+ # @return [::String]
93
+ # Optional. A page token, received from a previous `ListControls` call.
94
+ # Provide this to retrieve the subsequent page.
95
+ # @!attribute [rw] filter
96
+ # @return [::String]
97
+ # Optional. A filter to apply on the list results. Supported features:
98
+ #
99
+ # * List all the products under the parent branch if
100
+ # {::Google::Cloud::Retail::V2::ListControlsRequest#filter filter} is unset.
101
+ # * List controls that are used in a single ServingConfig:
102
+ # 'serving_config = "boosted_home_page_cvr"'
103
+ class ListControlsRequest
104
+ include ::Google::Protobuf::MessageExts
105
+ extend ::Google::Protobuf::MessageExts::ClassMethods
106
+ end
107
+
108
+ # Response for ListControls method.
109
+ # @!attribute [rw] controls
110
+ # @return [::Array<::Google::Cloud::Retail::V2::Control>]
111
+ # All the Controls for a given catalog.
112
+ # @!attribute [rw] next_page_token
113
+ # @return [::String]
114
+ # Pagination token, if not returned indicates the last page.
115
+ class ListControlsResponse
116
+ include ::Google::Protobuf::MessageExts
117
+ extend ::Google::Protobuf::MessageExts::ClassMethods
118
+ end
119
+ end
120
+ end
121
+ end
122
+ end
@@ -22,7 +22,6 @@ module Google
22
22
  module Retail
23
23
  module V2
24
24
  # Google Cloud Storage location for input content.
25
- # format.
26
25
  # @!attribute [rw] input_uris
27
26
  # @return [::Array<::String>]
28
27
  # Required. Google Cloud Storage URIs to input files. URI can be up to
@@ -54,11 +53,13 @@ module Google
54
53
  #
55
54
  # Supported values for control imports:
56
55
  #
57
- # * 'control' (default): One JSON [Control][] per line.
56
+ # * `control` (default): One JSON {::Google::Cloud::Retail::V2::Control Control}
57
+ # per line.
58
58
  #
59
59
  # Supported values for catalog attribute imports:
60
60
  #
61
- # * 'catalog_attribute' (default): One CSV [CatalogAttribute][] per line.
61
+ # * `catalog_attribute` (default): One CSV
62
+ # {::Google::Cloud::Retail::V2::CatalogAttribute CatalogAttribute} per line.
62
63
  class GcsSource
63
64
  include ::Google::Protobuf::MessageExts
64
65
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -69,9 +70,8 @@ module Google
69
70
  # @return [::Google::Type::Date]
70
71
  # BigQuery time partitioned table's _PARTITIONDATE in YYYY-MM-DD format.
71
72
  #
72
- # Only supported when
73
- # {::Google::Cloud::Retail::V2::ImportProductsRequest#reconciliation_mode ImportProductsRequest.reconciliation_mode}
74
- # is set to `FULL`.
73
+ # Only supported in
74
+ # {::Google::Cloud::Retail::V2::ImportProductsRequest ImportProductsRequest}.
75
75
  # @!attribute [rw] project_id
76
76
  # @return [::String]
77
77
  # The project ID (can be project # or ID) that the BigQuery source is in with
@@ -109,8 +109,7 @@ module Google
109
109
  # * `user_event_ga360`:
110
110
  # The schema is available here:
111
111
  # https://support.google.com/analytics/answer/3437719.
112
- # * `user_event_ga4`: This feature is in private preview. Please contact the
113
- # support team for importing Google Analytics 4 events.
112
+ # * `user_event_ga4`:
114
113
  # The schema is available here:
115
114
  # https://support.google.com/analytics/answer/7029846.
116
115
  #
@@ -148,7 +147,7 @@ module Google
148
147
  # @!attribute [rw] gcs_prefix
149
148
  # @return [::String]
150
149
  # Google Cloud Storage prefix for import errors. This must be an empty,
151
- # existing Cloud Storage directory. Import errors will be written to
150
+ # existing Cloud Storage directory. Import errors are written to
152
151
  # sharded files in this directory, one per line, as a JSON-encoded
153
152
  # `google.rpc.Status` message.
154
153
  class ImportErrorsConfig
@@ -175,8 +174,8 @@ module Google
175
174
  # The desired location of errors incurred during the Import.
176
175
  # @!attribute [rw] update_mask
177
176
  # @return [::Google::Protobuf::FieldMask]
178
- # Indicates which fields in the provided imported 'products' to update. If
179
- # not set, will by default update all fields.
177
+ # Indicates which fields in the provided imported `products` to update. If
178
+ # not set, all fields are updated.
180
179
  # @!attribute [rw] reconciliation_mode
181
180
  # @return [::Google::Cloud::Retail::V2::ImportProductsRequest::ReconciliationMode]
182
181
  # The mode of reconciliation between existing products and the products to be
@@ -185,21 +184,16 @@ module Google
185
184
  # @!attribute [rw] notification_pubsub_topic
186
185
  # @return [::String]
187
186
  # Full Pub/Sub topic name for receiving notification. If this field is set,
188
- # when the import is finished, a notification will be sent to
189
- # specified Pub/Sub topic. The message data will be JSON string of a
187
+ # when the import is finished, a notification is sent to
188
+ # specified Pub/Sub topic. The message data is JSON string of a
190
189
  # {::Google::Longrunning::Operation Operation}.
191
190
  #
192
191
  # Format of the Pub/Sub topic is `projects/{project}/topics/{topic}`. It has
193
192
  # to be within the same project as
194
193
  # {::Google::Cloud::Retail::V2::ImportProductsRequest#parent ImportProductsRequest.parent}.
195
- # Make sure that both
196
- # `cloud-retail-customer-data-access@system.gserviceaccount.com` and
197
- # `service-<project number>@gcp-sa-retail.iam.gserviceaccount.com`
198
- # have the `pubsub.topics.publish` IAM permission on the topic.
199
- #
200
- # Only supported when
201
- # {::Google::Cloud::Retail::V2::ImportProductsRequest#reconciliation_mode ImportProductsRequest.reconciliation_mode}
202
- # is set to `FULL`.
194
+ # Make sure that `service-<project
195
+ # number>@gcp-sa-retail.iam.gserviceaccount.com` has the
196
+ # `pubsub.topics.publish` IAM permission on the topic.
203
197
  class ImportProductsRequest
204
198
  include ::Google::Protobuf::MessageExts
205
199
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -215,15 +209,6 @@ module Google
215
209
 
216
210
  # Calculates diff and replaces the entire product dataset. Existing
217
211
  # products may be deleted if they are not present in the source location.
218
- #
219
- # Can only be set while using
220
- # {::Google::Cloud::Retail::V2::BigQuerySource BigQuerySource}. And the BigQuery
221
- # dataset must be created in the data location "us (multiple regions in
222
- # United States)", otherwise a PERMISSION_DENIED error is thrown.
223
- #
224
- # Add the IAM permission "BigQuery Data Viewer" for
225
- # cloud-retail-customer-data-access@system.gserviceaccount.com before
226
- # using this feature otherwise an error is thrown.
227
212
  FULL = 2
228
213
  end
229
214
  end
@@ -256,8 +241,8 @@ module Google
256
241
  # @!attribute [rw] notification_pubsub_topic
257
242
  # @return [::String]
258
243
  # Pub/Sub topic for receiving notification. If this field is set,
259
- # when the import is finished, a notification will be sent to
260
- # specified Pub/Sub topic. The message data will be JSON string of a
244
+ # when the import is finished, a notification is sent to
245
+ # specified Pub/Sub topic. The message data is JSON string of a
261
246
  # {::Google::Longrunning::Operation Operation}.
262
247
  # Format of the Pub/Sub topic is `projects/{project}/topics/{topic}`.
263
248
  class ImportCompletionDataRequest
@@ -308,7 +293,7 @@ module Google
308
293
  extend ::Google::Protobuf::MessageExts::ClassMethods
309
294
  end
310
295
 
311
- # Metadata related to the progress of the Import operation. This will be
296
+ # Metadata related to the progress of the Import operation. This is
312
297
  # returned by the google.longrunning.Operation.metadata field.
313
298
  # @!attribute [rw] create_time
314
299
  # @return [::Google::Protobuf::Timestamp]
@@ -329,8 +314,8 @@ module Google
329
314
  # @!attribute [rw] notification_pubsub_topic
330
315
  # @return [::String]
331
316
  # Pub/Sub topic for receiving notification. If this field is set,
332
- # when the import is finished, a notification will be sent to
333
- # specified Pub/Sub topic. The message data will be JSON string of a
317
+ # when the import is finished, a notification is sent to
318
+ # specified Pub/Sub topic. The message data is JSON string of a
334
319
  # {::Google::Longrunning::Operation Operation}.
335
320
  # Format of the Pub/Sub topic is `projects/{project}/topics/{topic}`.
336
321
  class ImportMetadata
@@ -114,7 +114,7 @@ module Google
114
114
  # Non-existent product ids are allowed.
115
115
  # The {::Google::Cloud::Retail::V2::Product#type type} of the members must be
116
116
  # either {::Google::Cloud::Retail::V2::Product::Type::PRIMARY Type.PRIMARY} or
117
- # {::Google::Cloud::Retail::V2::Product::Type::VARIANT Type.VARIANT} otherwise and
117
+ # {::Google::Cloud::Retail::V2::Product::Type::VARIANT Type.VARIANT} otherwise an
118
118
  # INVALID_ARGUMENT error is thrown. Should not set it for other types. A
119
119
  # maximum of 1000 values are allowed. Otherwise, an INVALID_ARGUMENT error is
120
120
  # return.
@@ -474,6 +474,12 @@ module Google
474
474
  # Note: This field is OUTPUT_ONLY for
475
475
  # {::Google::Cloud::Retail::V2::ProductService::Client#get_product ProductService.GetProduct}.
476
476
  # Do not set this field in API requests.
477
+ # @!attribute [r] local_inventories
478
+ # @return [::Array<::Google::Cloud::Retail::V2::LocalInventory>]
479
+ # Output only. A list of local inventories specific to different places.
480
+ #
481
+ # This is only available for users who have Retail Search enabled, and it can
482
+ # be managed by [AddLocalInventories][] and [RemoveLocalInventories][] APIs.
477
483
  class Product
478
484
  include ::Google::Protobuf::MessageExts
479
485
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -138,7 +138,9 @@ module Google
138
138
  # Boost specification to boost certain products. See more details at this
139
139
  # [user guide](https://cloud.google.com/retail/docs/boosting).
140
140
  #
141
- # Notice that if both [ServingConfig.boost_control_ids][] and
141
+ # Notice that if both
142
+ # {::Google::Cloud::Retail::V2::ServingConfig#boost_control_ids ServingConfig.boost_control_ids}
143
+ # and
142
144
  # {::Google::Cloud::Retail::V2::SearchRequest#boost_spec SearchRequest.boost_spec}
143
145
  # are set, the boost conditions from both places are evaluated. If a search
144
146
  # request matches multiple boost conditions, the final boost score is equal
@@ -241,6 +243,15 @@ module Google
241
243
  # @!attribute [rw] personalization_spec
242
244
  # @return [::Google::Cloud::Retail::V2::SearchRequest::PersonalizationSpec]
243
245
  # The specification for personalization.
246
+ #
247
+ # Notice that if both
248
+ # {::Google::Cloud::Retail::V2::ServingConfig#personalization_spec ServingConfig.personalization_spec}
249
+ # and
250
+ # {::Google::Cloud::Retail::V2::SearchRequest#personalization_spec SearchRequest.personalization_spec}
251
+ # are set.
252
+ # {::Google::Cloud::Retail::V2::SearchRequest#personalization_spec SearchRequest.personalization_spec}
253
+ # will override
254
+ # {::Google::Cloud::Retail::V2::ServingConfig#personalization_spec ServingConfig.personalization_spec}.
244
255
  # @!attribute [rw] labels
245
256
  # @return [::Google::Protobuf::Map{::String => ::String}]
246
257
  # The labels applied to a resource must meet the following requirements:
@@ -625,7 +636,8 @@ module Google
625
636
  # {::Google::Cloud::Retail::V2::SearchRequest::PersonalizationSpec::Mode::AUTO Mode.AUTO}.
626
637
  MODE_UNSPECIFIED = 0
627
638
 
628
- # Let CRS decide whether to use personalization.
639
+ # Let CRS decide whether to use personalization based on quality of user
640
+ # event data.
629
641
  AUTO = 1
630
642
 
631
643
  # Disable personalization.
@@ -829,6 +841,21 @@ module Google
829
841
  # {::Google::Protobuf::Value google.protobuf.Value}. For example,
830
842
  # `{key: "pickupInStore.store1" value { number_value: 10 }}` means a there
831
843
  # are 10 variants in this product are available in the store "store1".
844
+ # @!attribute [rw] personal_labels
845
+ # @return [::Array<::String>]
846
+ # Specifies previous events related to this product for this user based on
847
+ # {::Google::Cloud::Retail::V2::UserEvent UserEvent} with same
848
+ # {::Google::Cloud::Retail::V2::SearchRequest#visitor_id SearchRequest.visitor_id}
849
+ # or {::Google::Cloud::Retail::V2::UserInfo#user_id UserInfo.user_id}.
850
+ #
851
+ # This is set only when
852
+ # {::Google::Cloud::Retail::V2::SearchRequest::PersonalizationSpec#mode SearchRequest.PersonalizationSpec.mode}
853
+ # is
854
+ # {::Google::Cloud::Retail::V2::SearchRequest::PersonalizationSpec::Mode::AUTO SearchRequest.PersonalizationSpec.Mode.AUTO}.
855
+ #
856
+ # Possible values:
857
+ #
858
+ # * `purchased`: Indicates that this product has been purchased before.
832
859
  class SearchResult
833
860
  include ::Google::Protobuf::MessageExts
834
861
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -0,0 +1,238 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2022 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Cloud
22
+ module Retail
23
+ module V2
24
+ # Configures metadata that is used to generate serving time results (e.g.
25
+ # search results or recommendation predictions).
26
+ # @!attribute [rw] name
27
+ # @return [::String]
28
+ # Immutable. Fully qualified name
29
+ # `projects/*/locations/global/catalogs/*/servingConfig/*`
30
+ # @!attribute [rw] display_name
31
+ # @return [::String]
32
+ # Required. The human readable serving config display name. Used in Retail
33
+ # UI.
34
+ #
35
+ # This field must be a UTF-8 encoded string with a length limit of 128
36
+ # characters. Otherwise, an INVALID_ARGUMENT error is returned.
37
+ # @!attribute [rw] model_id
38
+ # @return [::String]
39
+ # The id of the model in the same {::Google::Cloud::Retail::V2::Catalog Catalog}
40
+ # to use at serving time. Currently only RecommendationModels are supported:
41
+ # https://cloud.google.com/retail/recommendations-ai/docs/create-models
42
+ # Can be changed but only to a compatible model (e.g.
43
+ # others-you-may-like CTR to others-you-may-like CVR).
44
+ #
45
+ # Required when
46
+ # {::Google::Cloud::Retail::V2::ServingConfig#solution_types solution_types} is
47
+ # [SOLUTION_TYPE_RECOMMENDATION][google.cloud.retail.v2main.SolutionType.SOLUTION_TYPE_RECOMMENDATION].
48
+ # @!attribute [rw] price_reranking_level
49
+ # @return [::String]
50
+ # How much price ranking we want in serving results.
51
+ # Price reranking causes product items with a similar
52
+ # recommendation probability to be ordered by price, with the
53
+ # highest-priced items first. This setting could result in a decrease in
54
+ # click-through and conversion rates.
55
+ # Allowed values are:
56
+ #
57
+ # * 'no-price-reranking'
58
+ # * 'low-price-raranking'
59
+ # * 'medium-price-reranking'
60
+ # * 'high-price-reranking'
61
+ #
62
+ # If not specified, we choose default based on model type. Default value:
63
+ # 'no-price-reranking'.
64
+ #
65
+ # Can only be set if
66
+ # {::Google::Cloud::Retail::V2::ServingConfig#solution_types solution_types} is
67
+ # [SOLUTION_TYPE_RECOMMENDATION][google.cloud.retail.v2main.SolutionType.SOLUTION_TYPE_RECOMMENDATION].
68
+ # @!attribute [rw] facet_control_ids
69
+ # @return [::Array<::String>]
70
+ # Facet specifications for faceted search. If empty, no facets are returned.
71
+ # The ids refer to the ids of {::Google::Cloud::Retail::V2::Control Control}
72
+ # resources with only the Facet control set. These controls are assumed to be
73
+ # in the same {::Google::Cloud::Retail::V2::Catalog Catalog} as the
74
+ # {::Google::Cloud::Retail::V2::ServingConfig ServingConfig}.
75
+ # A maximum of 100 values are allowed. Otherwise, an INVALID_ARGUMENT error
76
+ # is returned.
77
+ #
78
+ # Can only be set if
79
+ # {::Google::Cloud::Retail::V2::ServingConfig#solution_types solution_types} is
80
+ # [SOLUTION_TYPE_SEARCH][google.cloud.retail.v2main.SolutionType.SOLUTION_TYPE_SEARCH].
81
+ # @!attribute [rw] dynamic_facet_spec
82
+ # @return [::Google::Cloud::Retail::V2::SearchRequest::DynamicFacetSpec]
83
+ # The specification for dynamically generated facets. Notice that only
84
+ # textual facets can be dynamically generated.
85
+ #
86
+ # Can only be set if
87
+ # {::Google::Cloud::Retail::V2::ServingConfig#solution_types solution_types} is
88
+ # [SOLUTION_TYPE_SEARCH][google.cloud.retail.v2main.SolutionType.SOLUTION_TYPE_SEARCH].
89
+ # @!attribute [rw] boost_control_ids
90
+ # @return [::Array<::String>]
91
+ # Condition boost specifications. If a product matches multiple conditions
92
+ # in the specifications, boost scores from these specifications are all
93
+ # applied and combined in a non-linear way. Maximum number of
94
+ # specifications is 100.
95
+ #
96
+ # Notice that if both
97
+ # {::Google::Cloud::Retail::V2::ServingConfig#boost_control_ids ServingConfig.boost_control_ids}
98
+ # and
99
+ # {::Google::Cloud::Retail::V2::SearchRequest#boost_spec SearchRequest.boost_spec}
100
+ # are set, the boost conditions from both places are evaluated. If a search
101
+ # request matches multiple boost conditions, the final boost score is equal
102
+ # to the sum of the boost scores from all matched boost conditions.
103
+ #
104
+ # Can only be set if
105
+ # {::Google::Cloud::Retail::V2::ServingConfig#solution_types solution_types} is
106
+ # [SOLUTION_TYPE_SEARCH][google.cloud.retail.v2main.SolutionType.SOLUTION_TYPE_SEARCH].
107
+ # @!attribute [rw] filter_control_ids
108
+ # @return [::Array<::String>]
109
+ # Condition filter specifications. If a product matches multiple conditions
110
+ # in the specifications, filters from these specifications are all
111
+ # applied and combined via the AND operator. Maximum number of
112
+ # specifications is 100.
113
+ #
114
+ # Can only be set if
115
+ # {::Google::Cloud::Retail::V2::ServingConfig#solution_types solution_types} is
116
+ # [SOLUTION_TYPE_SEARCH][google.cloud.retail.v2main.SolutionType.SOLUTION_TYPE_SEARCH].
117
+ # @!attribute [rw] redirect_control_ids
118
+ # @return [::Array<::String>]
119
+ # Condition redirect specifications. Only the first triggered redirect action
120
+ # is applied, even if multiple apply. Maximum number of specifications is
121
+ # 1000.
122
+ #
123
+ # Can only be set if
124
+ # {::Google::Cloud::Retail::V2::ServingConfig#solution_types solution_types} is
125
+ # [SOLUTION_TYPE_SEARCH][google.cloud.retail.v2main.SolutionType.SOLUTION_TYPE_SEARCH].
126
+ # @!attribute [rw] twoway_synonyms_control_ids
127
+ # @return [::Array<::String>]
128
+ # Condition synonyms specifications. If multiple syonyms conditions match,
129
+ # all matching synonyms control in the list will execute. Order of controls
130
+ # in the list will not matter. Maximum number of specifications is
131
+ # 100.
132
+ #
133
+ # Can only be set if
134
+ # {::Google::Cloud::Retail::V2::ServingConfig#solution_types solution_types} is
135
+ # [SOLUTION_TYPE_SEARCH][google.cloud.retail.v2main.SolutionType.SOLUTION_TYPE_SEARCH].
136
+ # @!attribute [rw] oneway_synonyms_control_ids
137
+ # @return [::Array<::String>]
138
+ # Condition oneway synonyms specifications. If multiple oneway synonyms
139
+ # conditions match, all matching oneway synonyms controls in the list will
140
+ # execute. Order of controls in the list will not matter. Maximum number of
141
+ # specifications is 100.
142
+ #
143
+ # Can only be set if
144
+ # {::Google::Cloud::Retail::V2::ServingConfig#solution_types solution_types} is
145
+ # [SOLUTION_TYPE_SEARCH][google.cloud.retail.v2main.SolutionType.SOLUTION_TYPE_SEARCH].
146
+ # @!attribute [rw] do_not_associate_control_ids
147
+ # @return [::Array<::String>]
148
+ # Condition do not associate specifications. If multiple do not associate
149
+ # conditions match, all matching do not associate controls in the list will
150
+ # execute.
151
+ # - Order does not matter.
152
+ # - Maximum number of specifications is 100.
153
+ #
154
+ # Can only be set if
155
+ # {::Google::Cloud::Retail::V2::ServingConfig#solution_types solution_types} is
156
+ # [SOLUTION_TYPE_SEARCH][google.cloud.retail.v2main.SolutionType.SOLUTION_TYPE_SEARCH].
157
+ # @!attribute [rw] replacement_control_ids
158
+ # @return [::Array<::String>]
159
+ # Condition replacement specifications.
160
+ # - Applied according to the order in the list.
161
+ # - A previously replaced term can not be re-replaced.
162
+ # - Maximum number of specifications is 100.
163
+ #
164
+ # Can only be set if
165
+ # {::Google::Cloud::Retail::V2::ServingConfig#solution_types solution_types} is
166
+ # [SOLUTION_TYPE_SEARCH][google.cloud.retail.v2main.SolutionType.SOLUTION_TYPE_SEARCH].
167
+ # @!attribute [rw] ignore_control_ids
168
+ # @return [::Array<::String>]
169
+ # Condition ignore specifications. If multiple ignore
170
+ # conditions match, all matching ignore controls in the list will
171
+ # execute.
172
+ # - Order does not matter.
173
+ # - Maximum number of specifications is 100.
174
+ #
175
+ # Can only be set if
176
+ # {::Google::Cloud::Retail::V2::ServingConfig#solution_types solution_types} is
177
+ # [SOLUTION_TYPE_SEARCH][google.cloud.retail.v2main.SolutionType.SOLUTION_TYPE_SEARCH].
178
+ # @!attribute [rw] diversity_level
179
+ # @return [::String]
180
+ # How much diversity to use in recommendation model results e.g.
181
+ # 'medium-diversity' or 'high-diversity'. Currently supported values:
182
+ #
183
+ # * 'no-diversity'
184
+ # * 'low-diversity'
185
+ # * 'medium-diversity'
186
+ # * 'high-diversity'
187
+ # * 'auto-diversity'
188
+ #
189
+ # If not specified, we choose default based on recommendation model
190
+ # type. Default value: 'no-diversity'.
191
+ #
192
+ # Can only be set if
193
+ # {::Google::Cloud::Retail::V2::ServingConfig#solution_types solution_types} is
194
+ # [SOLUTION_TYPE_RECOMMENDATION][google.cloud.retail.v2main.SolutionType.SOLUTION_TYPE_RECOMMENDATION].
195
+ # @!attribute [rw] enable_category_filter_level
196
+ # @return [::String]
197
+ # Whether to add additional category filters on the 'similar-items' model.
198
+ # If not specified, we enable it by default.
199
+ # Allowed values are:
200
+ #
201
+ # * 'no-category-match': No additional filtering of original results from
202
+ # the model and the customer's filters.
203
+ # * 'relaxed-category-match': Only keep results with categories that match
204
+ # at least one item categories in the PredictRequests's context item.
205
+ # * If customer also sends filters in the PredictRequest, then the results
206
+ # will satisfy both conditions (user given and category match).
207
+ #
208
+ # Can only be set if
209
+ # {::Google::Cloud::Retail::V2::ServingConfig#solution_types solution_types} is
210
+ # [SOLUTION_TYPE_RECOMMENDATION][google.cloud.retail.v2main.SolutionType.SOLUTION_TYPE_RECOMMENDATION].
211
+ # @!attribute [rw] personalization_spec
212
+ # @return [::Google::Cloud::Retail::V2::SearchRequest::PersonalizationSpec]
213
+ # The specification for personalization spec.
214
+ #
215
+ # Can only be set if
216
+ # {::Google::Cloud::Retail::V2::ServingConfig#solution_types solution_types} is
217
+ # [SOLUTION_TYPE_SEARCH][google.cloud.retail.v2main.SolutionType.SOLUTION_TYPE_SEARCH].
218
+ #
219
+ # Notice that if both
220
+ # {::Google::Cloud::Retail::V2::ServingConfig#personalization_spec ServingConfig.personalization_spec}
221
+ # and
222
+ # {::Google::Cloud::Retail::V2::SearchRequest#personalization_spec SearchRequest.personalization_spec}
223
+ # are set.
224
+ # {::Google::Cloud::Retail::V2::SearchRequest#personalization_spec SearchRequest.personalization_spec}
225
+ # will override
226
+ # {::Google::Cloud::Retail::V2::ServingConfig#personalization_spec ServingConfig.personalization_spec}.
227
+ # @!attribute [rw] solution_types
228
+ # @return [::Array<::Google::Cloud::Retail::V2::SolutionType>]
229
+ # Required. Immutable. Specifies the solution types that a serving config can
230
+ # be associated with. Currently we support setting only one type of solution.
231
+ class ServingConfig
232
+ include ::Google::Protobuf::MessageExts
233
+ extend ::Google::Protobuf::MessageExts::ClassMethods
234
+ end
235
+ end
236
+ end
237
+ end
238
+ end