@@ -104,8 +104,7 @@ message CatalogAttribute {
104104
105105 // The status of the indexable option of a catalog attribute.
106106 enum IndexableOption {
107- // Value used when unset. Defaults to
108- // [INDEXABLE_ENABLED][google.cloud.retail.v2alpha.CatalogAttribute.IndexableOption.INDEXABLE_ENABLED].
107+ // Value used when unset.
109108 INDEXABLE_OPTION_UNSPECIFIED = 0 ;
110109
111110 // Indexable option enabled for an attribute.
@@ -117,8 +116,7 @@ message CatalogAttribute {
117116
118117 // The status of the dynamic facetable option of a catalog attribute.
119118 enum DynamicFacetableOption {
120- // Value used when unset. Defaults to
121- // [DYNAMIC_FACETABLE_ENABLED][google.cloud.retail.v2alpha.CatalogAttribute.DynamicFacetableOption.DYNAMIC_FACETABLE_ENABLED].
119+ // Value used when unset.
122120 DYNAMIC_FACETABLE_OPTION_UNSPECIFIED = 0 ;
123121
124122 // Dynamic facetable option enabled for an attribute.
@@ -130,8 +128,7 @@ message CatalogAttribute {
130128
131129 // The status of the searchable option of a catalog attribute.
132130 enum SearchableOption {
133- // Value used when unset. Defaults to
134- // [SEARCHABLE_DISABLED][google.cloud.retail.v2alpha.CatalogAttribute.SearchableOption.SEARCHABLE_DISABLED].
131+ // Value used when unset.
135132 SEARCHABLE_OPTION_UNSPECIFIED = 0 ;
136133
137134 // Searchable option enabled for an attribute.
@@ -141,6 +138,32 @@ message CatalogAttribute {
141138 SEARCHABLE_DISABLED = 2 ;
142139 }
143140
141+ // The status of the exact-searchable option of a catalog attribute.
142+ enum ExactSearchableOption {
143+ // Value used when unset. Defaults to
144+ // [EXACT_SEARCHABLE_DISABLED][google.cloud.retail.v2alpha.CatalogAttribute.ExactSearchableOption.EXACT_SEARCHABLE_DISABLED].
145+ EXACT_SEARCHABLE_OPTION_UNSPECIFIED = 0 ;
146+
147+ // Exact searchable option enabled for an attribute.
148+ EXACT_SEARCHABLE_ENABLED = 1 ;
149+
150+ // Exact searchable option disabled for an attribute.
151+ EXACT_SEARCHABLE_DISABLED = 2 ;
152+ }
153+
154+ // The status of the retrievable option of a catalog attribute.
155+ enum RetrievableOption {
156+ // Value used when unset. Defaults to
157+ // [RETRIEVABLE_DISABLED][google.cloud.retail.v2alpha.CatalogAttribute.RetrievableOption.RETRIEVABLE_DISABLED].
158+ RETRIEVABLE_OPTION_UNSPECIFIED = 0 ;
159+
160+ // Retrievable option enabled for an attribute.
161+ RETRIEVABLE_ENABLED = 1 ;
162+
163+ // Retrievable option disabled for an attribute.
164+ RETRIEVABLE_DISABLED = 2 ;
165+ }
166+
144167 // Required. Attribute name.
145168 // For example: `color`, `brands`, `attributes.custom_attribute`, such as
146169 // `attributes.xyz`.
@@ -165,13 +188,13 @@ message CatalogAttribute {
165188 // APIs. This field is `False` for pre-loaded
166189 // [CatalogAttribute][google.cloud.retail.v2alpha.CatalogAttribute]s.
167190 //
168- // Only pre-loaded
169- // [CatalogAttribute ][google.cloud.retail.v2alpha.CatalogAttribute]s that are
170- // neither in use by products nor predefined can be deleted.
171- // [CatalogAttribute ][google.cloud.retail.v2alpha.CatalogAttribute]s that are
172- // either in use by products or are predefined cannot be deleted; however,
173- // their configuration properties will reset to default values upon removal
174- // request.
191+ // Only pre-loaded [catalog
192+ // attributes ][google.cloud.retail.v2alpha.CatalogAttribute] that are neither
193+ // in use by products nor predefined can be deleted. [Catalog
194+ // attributes ][google.cloud.retail.v2alpha.CatalogAttribute] that are
195+ // either in use by products or are predefined attributes cannot be deleted;
196+ // however, their configuration properties will reset to default values upon
197+ // removal request.
175198 //
176199 // After catalog changes, it takes about 10 minutes for this field to update.
177200 bool in_use = 9 [(google.api.field_behavior ) = OUTPUT_ONLY ];
@@ -185,12 +208,16 @@ message CatalogAttribute {
185208 // is CATALOG_LEVEL_ATTRIBUTE_CONFIG, if INDEXABLE_ENABLED attribute values
186209 // are indexed so that it can be filtered, faceted, or boosted in
187210 // [SearchService.Search][google.cloud.retail.v2alpha.SearchService.Search].
211+ //
212+ // Must be specified, otherwise throws INVALID_FORMAT error.
188213 IndexableOption indexable_option = 5 ;
189214
190215 // If DYNAMIC_FACETABLE_ENABLED, attribute values are available for dynamic
191216 // facet. Could only be DYNAMIC_FACETABLE_DISABLED if
192217 // [CatalogAttribute.indexable_option][google.cloud.retail.v2alpha.CatalogAttribute.indexable_option]
193218 // is INDEXABLE_DISABLED. Otherwise, an INVALID_ARGUMENT error is returned.
219+ //
220+ // Must be specified, otherwise throws INVALID_FORMAT error.
194221 DynamicFacetableOption dynamic_facetable_option = 6 ;
195222
196223 // When
@@ -203,6 +230,8 @@ message CatalogAttribute {
203230 // will not be searchable by text queries in
204231 // [SearchService.Search][google.cloud.retail.v2alpha.SearchService.Search],
205232 // as there are no text values associated to numerical attributes.
233+ //
234+ // Must be specified, otherwise throws INVALID_FORMAT error.
206235 SearchableOption searchable_option = 7 ;
207236
208237 // When
@@ -212,6 +241,15 @@ message CatalogAttribute {
212241 // This option works for categorical features only,
213242 // does not work for numerical features, inventory filtering.
214243 RecommendationsFilteringOption recommendations_filtering_option = 8 ;
244+
245+ // If EXACT_SEARCHABLE_ENABLED, attribute values will be exact searchable.
246+ // This property only applies to textual custom attributes and requires
247+ // indexable set to enabled to enable exact-searchable.
248+ ExactSearchableOption exact_searchable_option = 11 ;
249+
250+ // If RETRIEVABLE_ENABLED, attribute values are retrievable in the search
251+ // results.
252+ RetrievableOption retrievable_option = 12 ;
215253}
216254
217255// Catalog level attribute config.
@@ -336,21 +374,21 @@ message CompletionConfig {
336374// will be streamed to the linked branch.
337375message MerchantCenterLink {
338376 // Required. The linked [Merchant center account
339- // id ](https://developers.google.com/shopping-content/guides/accountstatuses).
377+ // ID ](https://developers.google.com/shopping-content/guides/accountstatuses).
340378 // The account must be a standalone account or a sub-account of a MCA.
341379 int64 merchant_center_account_id = 1 [(google.api.field_behavior ) = REQUIRED ];
342380
343- // The branch id (e.g. 0/1/2) within this catalog that products from
381+ // The branch ID (e.g. 0/1/2) within this catalog that products from
344382 // merchant_center_account_id are streamed to. When updating this field, an
345383 // empty value will use the currently configured default branch. However,
346384 // changing the default branch later on won't change the linked branch here.
347385 //
348- // A single branch id can only have one linked merchant center account id .
386+ // A single branch ID can only have one linked merchant center account ID .
349387 string branch_id = 2 ;
350388
351389 // String representing the destination to import for, all if left empty.
352- // List of possible values can be found here.
353- // [ https://support.google.com/merchants/answer/7501026]
390+ // List of possible values is given in [Included
391+ // destination]( https://support.google.com/merchants/answer/7501026).
354392 // List of allowed string values:
355393 // "Shopping_ads", "Buy_on_google_listings", "Display_ads", "Local_inventory
356394 // _ads", "Free_listings", "Free_local_listings"
@@ -375,6 +413,21 @@ message MerchantCenterLink {
375413 //
376414 // Example value: `en`.
377415 string language_code = 5 ;
416+
417+ // Criteria for the Merchant Center feeds to be ingested via the link.
418+ // All offers will be ingested if the list is empty.
419+ // Otherwise the offers will be ingested from selected feeds.
420+ repeated MerchantCenterFeedFilter feeds = 6 ;
421+ }
422+
423+ // Merchant Center Feed filter criterion.
424+ message MerchantCenterFeedFilter {
425+ // Merchant Center primary feed ID.
426+ int64 primary_feed_id = 1 ;
427+
428+ // Merchant Center primary feed name. The name is used for the display
429+ // purposes only.
430+ string primary_feed_name = 2 ;
378431}
379432
380433// Configures Merchant Center linking.
0 commit comments