• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright 2020 Google LLC
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *     https://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 // Generated by the protocol buffer compiler.  DO NOT EDIT!
17 // source: google/cloud/retail/v2/search_service.proto
18 
19 package com.google.cloud.retail.v2;
20 
21 public interface SearchRequestOrBuilder
22     extends
23     // @@protoc_insertion_point(interface_extends:google.cloud.retail.v2.SearchRequest)
24     com.google.protobuf.MessageOrBuilder {
25 
26   /**
27    *
28    *
29    * <pre>
30    * Required. The resource name of the Retail Search serving config, such as
31    * `projects/&#42;&#47;locations/global/catalogs/default_catalog/servingConfigs/default_serving_config`
32    * or the name of the legacy placement resource, such as
33    * `projects/&#42;&#47;locations/global/catalogs/default_catalog/placements/default_search`.
34    * This field is used to identify the serving config name and the set
35    * of models that will be used to make the search.
36    * </pre>
37    *
38    * <code>string placement = 1 [(.google.api.field_behavior) = REQUIRED];</code>
39    *
40    * @return The placement.
41    */
getPlacement()42   java.lang.String getPlacement();
43   /**
44    *
45    *
46    * <pre>
47    * Required. The resource name of the Retail Search serving config, such as
48    * `projects/&#42;&#47;locations/global/catalogs/default_catalog/servingConfigs/default_serving_config`
49    * or the name of the legacy placement resource, such as
50    * `projects/&#42;&#47;locations/global/catalogs/default_catalog/placements/default_search`.
51    * This field is used to identify the serving config name and the set
52    * of models that will be used to make the search.
53    * </pre>
54    *
55    * <code>string placement = 1 [(.google.api.field_behavior) = REQUIRED];</code>
56    *
57    * @return The bytes for placement.
58    */
getPlacementBytes()59   com.google.protobuf.ByteString getPlacementBytes();
60 
61   /**
62    *
63    *
64    * <pre>
65    * The branch resource name, such as
66    * `projects/&#42;&#47;locations/global/catalogs/default_catalog/branches/0`.
67    * Use "default_branch" as the branch ID or leave this field empty, to search
68    * products under the default branch.
69    * </pre>
70    *
71    * <code>string branch = 2 [(.google.api.resource_reference) = { ... }</code>
72    *
73    * @return The branch.
74    */
getBranch()75   java.lang.String getBranch();
76   /**
77    *
78    *
79    * <pre>
80    * The branch resource name, such as
81    * `projects/&#42;&#47;locations/global/catalogs/default_catalog/branches/0`.
82    * Use "default_branch" as the branch ID or leave this field empty, to search
83    * products under the default branch.
84    * </pre>
85    *
86    * <code>string branch = 2 [(.google.api.resource_reference) = { ... }</code>
87    *
88    * @return The bytes for branch.
89    */
getBranchBytes()90   com.google.protobuf.ByteString getBranchBytes();
91 
92   /**
93    *
94    *
95    * <pre>
96    * Raw search query.
97    * If this field is empty, the request is considered a category browsing
98    * request and returned results are based on
99    * [filter][google.cloud.retail.v2.SearchRequest.filter] and
100    * [page_categories][google.cloud.retail.v2.SearchRequest.page_categories].
101    * </pre>
102    *
103    * <code>string query = 3;</code>
104    *
105    * @return The query.
106    */
getQuery()107   java.lang.String getQuery();
108   /**
109    *
110    *
111    * <pre>
112    * Raw search query.
113    * If this field is empty, the request is considered a category browsing
114    * request and returned results are based on
115    * [filter][google.cloud.retail.v2.SearchRequest.filter] and
116    * [page_categories][google.cloud.retail.v2.SearchRequest.page_categories].
117    * </pre>
118    *
119    * <code>string query = 3;</code>
120    *
121    * @return The bytes for query.
122    */
getQueryBytes()123   com.google.protobuf.ByteString getQueryBytes();
124 
125   /**
126    *
127    *
128    * <pre>
129    * Required. A unique identifier for tracking visitors. For example, this
130    * could be implemented with an HTTP cookie, which should be able to uniquely
131    * identify a visitor on a single device. This unique identifier should not
132    * change if the visitor logs in or out of the website.
133    * This should be the same identifier as
134    * [UserEvent.visitor_id][google.cloud.retail.v2.UserEvent.visitor_id].
135    * The field must be a UTF-8 encoded string with a length limit of 128
136    * characters. Otherwise, an INVALID_ARGUMENT error is returned.
137    * </pre>
138    *
139    * <code>string visitor_id = 4 [(.google.api.field_behavior) = REQUIRED];</code>
140    *
141    * @return The visitorId.
142    */
getVisitorId()143   java.lang.String getVisitorId();
144   /**
145    *
146    *
147    * <pre>
148    * Required. A unique identifier for tracking visitors. For example, this
149    * could be implemented with an HTTP cookie, which should be able to uniquely
150    * identify a visitor on a single device. This unique identifier should not
151    * change if the visitor logs in or out of the website.
152    * This should be the same identifier as
153    * [UserEvent.visitor_id][google.cloud.retail.v2.UserEvent.visitor_id].
154    * The field must be a UTF-8 encoded string with a length limit of 128
155    * characters. Otherwise, an INVALID_ARGUMENT error is returned.
156    * </pre>
157    *
158    * <code>string visitor_id = 4 [(.google.api.field_behavior) = REQUIRED];</code>
159    *
160    * @return The bytes for visitorId.
161    */
getVisitorIdBytes()162   com.google.protobuf.ByteString getVisitorIdBytes();
163 
164   /**
165    *
166    *
167    * <pre>
168    * User information.
169    * </pre>
170    *
171    * <code>.google.cloud.retail.v2.UserInfo user_info = 5;</code>
172    *
173    * @return Whether the userInfo field is set.
174    */
hasUserInfo()175   boolean hasUserInfo();
176   /**
177    *
178    *
179    * <pre>
180    * User information.
181    * </pre>
182    *
183    * <code>.google.cloud.retail.v2.UserInfo user_info = 5;</code>
184    *
185    * @return The userInfo.
186    */
getUserInfo()187   com.google.cloud.retail.v2.UserInfo getUserInfo();
188   /**
189    *
190    *
191    * <pre>
192    * User information.
193    * </pre>
194    *
195    * <code>.google.cloud.retail.v2.UserInfo user_info = 5;</code>
196    */
getUserInfoOrBuilder()197   com.google.cloud.retail.v2.UserInfoOrBuilder getUserInfoOrBuilder();
198 
199   /**
200    *
201    *
202    * <pre>
203    * Maximum number of [Product][google.cloud.retail.v2.Product]s to return. If
204    * unspecified, defaults to a reasonable value. The maximum allowed value is
205    * 120. Values above 120 will be coerced to 120.
206    * If this field is negative, an INVALID_ARGUMENT is returned.
207    * </pre>
208    *
209    * <code>int32 page_size = 7;</code>
210    *
211    * @return The pageSize.
212    */
getPageSize()213   int getPageSize();
214 
215   /**
216    *
217    *
218    * <pre>
219    * A page token
220    * [SearchResponse.next_page_token][google.cloud.retail.v2.SearchResponse.next_page_token],
221    * received from a previous
222    * [SearchService.Search][google.cloud.retail.v2.SearchService.Search] call.
223    * Provide this to retrieve the subsequent page.
224    * When paginating, all other parameters provided to
225    * [SearchService.Search][google.cloud.retail.v2.SearchService.Search] must
226    * match the call that provided the page token. Otherwise, an INVALID_ARGUMENT
227    * error is returned.
228    * </pre>
229    *
230    * <code>string page_token = 8;</code>
231    *
232    * @return The pageToken.
233    */
getPageToken()234   java.lang.String getPageToken();
235   /**
236    *
237    *
238    * <pre>
239    * A page token
240    * [SearchResponse.next_page_token][google.cloud.retail.v2.SearchResponse.next_page_token],
241    * received from a previous
242    * [SearchService.Search][google.cloud.retail.v2.SearchService.Search] call.
243    * Provide this to retrieve the subsequent page.
244    * When paginating, all other parameters provided to
245    * [SearchService.Search][google.cloud.retail.v2.SearchService.Search] must
246    * match the call that provided the page token. Otherwise, an INVALID_ARGUMENT
247    * error is returned.
248    * </pre>
249    *
250    * <code>string page_token = 8;</code>
251    *
252    * @return The bytes for pageToken.
253    */
getPageTokenBytes()254   com.google.protobuf.ByteString getPageTokenBytes();
255 
256   /**
257    *
258    *
259    * <pre>
260    * A 0-indexed integer that specifies the current offset (that is, starting
261    * result location, amongst the [Product][google.cloud.retail.v2.Product]s
262    * deemed by the API as relevant) in search results. This field is only
263    * considered if [page_token][google.cloud.retail.v2.SearchRequest.page_token]
264    * is unset.
265    * If this field is negative, an INVALID_ARGUMENT is returned.
266    * </pre>
267    *
268    * <code>int32 offset = 9;</code>
269    *
270    * @return The offset.
271    */
getOffset()272   int getOffset();
273 
274   /**
275    *
276    *
277    * <pre>
278    * The filter syntax consists of an expression language for constructing a
279    * predicate from one or more fields of the products being filtered. Filter
280    * expression is case-sensitive. See more details at this [user
281    * guide](https://cloud.google.com/retail/docs/filter-and-order#filter).
282    * If this field is unrecognizable, an INVALID_ARGUMENT is returned.
283    * </pre>
284    *
285    * <code>string filter = 10;</code>
286    *
287    * @return The filter.
288    */
getFilter()289   java.lang.String getFilter();
290   /**
291    *
292    *
293    * <pre>
294    * The filter syntax consists of an expression language for constructing a
295    * predicate from one or more fields of the products being filtered. Filter
296    * expression is case-sensitive. See more details at this [user
297    * guide](https://cloud.google.com/retail/docs/filter-and-order#filter).
298    * If this field is unrecognizable, an INVALID_ARGUMENT is returned.
299    * </pre>
300    *
301    * <code>string filter = 10;</code>
302    *
303    * @return The bytes for filter.
304    */
getFilterBytes()305   com.google.protobuf.ByteString getFilterBytes();
306 
307   /**
308    *
309    *
310    * <pre>
311    * The default filter that is applied when a user performs a search without
312    * checking any filters on the search page.
313    * The filter applied to every search request when quality improvement such as
314    * query expansion is needed. For example, if a query does not have enough
315    * results, an expanded query with
316    * [SearchRequest.canonical_filter][google.cloud.retail.v2.SearchRequest.canonical_filter]
317    * will be returned as a supplement of the original query. This field is
318    * strongly recommended to achieve high search quality.
319    * See [SearchRequest.filter][google.cloud.retail.v2.SearchRequest.filter] for
320    * more details about filter syntax.
321    * </pre>
322    *
323    * <code>string canonical_filter = 28;</code>
324    *
325    * @return The canonicalFilter.
326    */
getCanonicalFilter()327   java.lang.String getCanonicalFilter();
328   /**
329    *
330    *
331    * <pre>
332    * The default filter that is applied when a user performs a search without
333    * checking any filters on the search page.
334    * The filter applied to every search request when quality improvement such as
335    * query expansion is needed. For example, if a query does not have enough
336    * results, an expanded query with
337    * [SearchRequest.canonical_filter][google.cloud.retail.v2.SearchRequest.canonical_filter]
338    * will be returned as a supplement of the original query. This field is
339    * strongly recommended to achieve high search quality.
340    * See [SearchRequest.filter][google.cloud.retail.v2.SearchRequest.filter] for
341    * more details about filter syntax.
342    * </pre>
343    *
344    * <code>string canonical_filter = 28;</code>
345    *
346    * @return The bytes for canonicalFilter.
347    */
getCanonicalFilterBytes()348   com.google.protobuf.ByteString getCanonicalFilterBytes();
349 
350   /**
351    *
352    *
353    * <pre>
354    * The order in which products are returned. Products can be ordered by
355    * a field in an [Product][google.cloud.retail.v2.Product] object. Leave it
356    * unset if ordered by relevance. OrderBy expression is case-sensitive. See
357    * more details at this [user
358    * guide](https://cloud.google.com/retail/docs/filter-and-order#order).
359    * If this field is unrecognizable, an INVALID_ARGUMENT is returned.
360    * </pre>
361    *
362    * <code>string order_by = 11;</code>
363    *
364    * @return The orderBy.
365    */
getOrderBy()366   java.lang.String getOrderBy();
367   /**
368    *
369    *
370    * <pre>
371    * The order in which products are returned. Products can be ordered by
372    * a field in an [Product][google.cloud.retail.v2.Product] object. Leave it
373    * unset if ordered by relevance. OrderBy expression is case-sensitive. See
374    * more details at this [user
375    * guide](https://cloud.google.com/retail/docs/filter-and-order#order).
376    * If this field is unrecognizable, an INVALID_ARGUMENT is returned.
377    * </pre>
378    *
379    * <code>string order_by = 11;</code>
380    *
381    * @return The bytes for orderBy.
382    */
getOrderByBytes()383   com.google.protobuf.ByteString getOrderByBytes();
384 
385   /**
386    *
387    *
388    * <pre>
389    * Facet specifications for faceted search. If empty, no facets are returned.
390    * A maximum of 200 values are allowed. Otherwise, an INVALID_ARGUMENT error
391    * is returned.
392    * </pre>
393    *
394    * <code>repeated .google.cloud.retail.v2.SearchRequest.FacetSpec facet_specs = 12;</code>
395    */
getFacetSpecsList()396   java.util.List<com.google.cloud.retail.v2.SearchRequest.FacetSpec> getFacetSpecsList();
397   /**
398    *
399    *
400    * <pre>
401    * Facet specifications for faceted search. If empty, no facets are returned.
402    * A maximum of 200 values are allowed. Otherwise, an INVALID_ARGUMENT error
403    * is returned.
404    * </pre>
405    *
406    * <code>repeated .google.cloud.retail.v2.SearchRequest.FacetSpec facet_specs = 12;</code>
407    */
getFacetSpecs(int index)408   com.google.cloud.retail.v2.SearchRequest.FacetSpec getFacetSpecs(int index);
409   /**
410    *
411    *
412    * <pre>
413    * Facet specifications for faceted search. If empty, no facets are returned.
414    * A maximum of 200 values are allowed. Otherwise, an INVALID_ARGUMENT error
415    * is returned.
416    * </pre>
417    *
418    * <code>repeated .google.cloud.retail.v2.SearchRequest.FacetSpec facet_specs = 12;</code>
419    */
getFacetSpecsCount()420   int getFacetSpecsCount();
421   /**
422    *
423    *
424    * <pre>
425    * Facet specifications for faceted search. If empty, no facets are returned.
426    * A maximum of 200 values are allowed. Otherwise, an INVALID_ARGUMENT error
427    * is returned.
428    * </pre>
429    *
430    * <code>repeated .google.cloud.retail.v2.SearchRequest.FacetSpec facet_specs = 12;</code>
431    */
432   java.util.List<? extends com.google.cloud.retail.v2.SearchRequest.FacetSpecOrBuilder>
getFacetSpecsOrBuilderList()433       getFacetSpecsOrBuilderList();
434   /**
435    *
436    *
437    * <pre>
438    * Facet specifications for faceted search. If empty, no facets are returned.
439    * A maximum of 200 values are allowed. Otherwise, an INVALID_ARGUMENT error
440    * is returned.
441    * </pre>
442    *
443    * <code>repeated .google.cloud.retail.v2.SearchRequest.FacetSpec facet_specs = 12;</code>
444    */
getFacetSpecsOrBuilder(int index)445   com.google.cloud.retail.v2.SearchRequest.FacetSpecOrBuilder getFacetSpecsOrBuilder(int index);
446 
447   /**
448    *
449    *
450    * <pre>
451    * Deprecated. Refer to https://cloud.google.com/retail/docs/configs#dynamic
452    * to enable dynamic facets. Do not set this field.
453    * The specification for dynamically generated facets. Notice that only
454    * textual facets can be dynamically generated.
455    * </pre>
456    *
457    * <code>
458    * .google.cloud.retail.v2.SearchRequest.DynamicFacetSpec dynamic_facet_spec = 21 [deprecated = true];
459    * </code>
460    *
461    * @deprecated google.cloud.retail.v2.SearchRequest.dynamic_facet_spec is deprecated. See
462    *     google/cloud/retail/v2/search_service.proto;l=596
463    * @return Whether the dynamicFacetSpec field is set.
464    */
465   @java.lang.Deprecated
hasDynamicFacetSpec()466   boolean hasDynamicFacetSpec();
467   /**
468    *
469    *
470    * <pre>
471    * Deprecated. Refer to https://cloud.google.com/retail/docs/configs#dynamic
472    * to enable dynamic facets. Do not set this field.
473    * The specification for dynamically generated facets. Notice that only
474    * textual facets can be dynamically generated.
475    * </pre>
476    *
477    * <code>
478    * .google.cloud.retail.v2.SearchRequest.DynamicFacetSpec dynamic_facet_spec = 21 [deprecated = true];
479    * </code>
480    *
481    * @deprecated google.cloud.retail.v2.SearchRequest.dynamic_facet_spec is deprecated. See
482    *     google/cloud/retail/v2/search_service.proto;l=596
483    * @return The dynamicFacetSpec.
484    */
485   @java.lang.Deprecated
getDynamicFacetSpec()486   com.google.cloud.retail.v2.SearchRequest.DynamicFacetSpec getDynamicFacetSpec();
487   /**
488    *
489    *
490    * <pre>
491    * Deprecated. Refer to https://cloud.google.com/retail/docs/configs#dynamic
492    * to enable dynamic facets. Do not set this field.
493    * The specification for dynamically generated facets. Notice that only
494    * textual facets can be dynamically generated.
495    * </pre>
496    *
497    * <code>
498    * .google.cloud.retail.v2.SearchRequest.DynamicFacetSpec dynamic_facet_spec = 21 [deprecated = true];
499    * </code>
500    */
501   @java.lang.Deprecated
getDynamicFacetSpecOrBuilder()502   com.google.cloud.retail.v2.SearchRequest.DynamicFacetSpecOrBuilder getDynamicFacetSpecOrBuilder();
503 
504   /**
505    *
506    *
507    * <pre>
508    * Boost specification to boost certain products. See more details at this
509    * [user guide](https://cloud.google.com/retail/docs/boosting).
510    * Notice that if both
511    * [ServingConfig.boost_control_ids][google.cloud.retail.v2.ServingConfig.boost_control_ids]
512    * and
513    * [SearchRequest.boost_spec][google.cloud.retail.v2.SearchRequest.boost_spec]
514    * are set, the boost conditions from both places are evaluated. If a search
515    * request matches multiple boost conditions, the final boost score is equal
516    * to the sum of the boost scores from all matched boost conditions.
517    * </pre>
518    *
519    * <code>.google.cloud.retail.v2.SearchRequest.BoostSpec boost_spec = 13;</code>
520    *
521    * @return Whether the boostSpec field is set.
522    */
hasBoostSpec()523   boolean hasBoostSpec();
524   /**
525    *
526    *
527    * <pre>
528    * Boost specification to boost certain products. See more details at this
529    * [user guide](https://cloud.google.com/retail/docs/boosting).
530    * Notice that if both
531    * [ServingConfig.boost_control_ids][google.cloud.retail.v2.ServingConfig.boost_control_ids]
532    * and
533    * [SearchRequest.boost_spec][google.cloud.retail.v2.SearchRequest.boost_spec]
534    * are set, the boost conditions from both places are evaluated. If a search
535    * request matches multiple boost conditions, the final boost score is equal
536    * to the sum of the boost scores from all matched boost conditions.
537    * </pre>
538    *
539    * <code>.google.cloud.retail.v2.SearchRequest.BoostSpec boost_spec = 13;</code>
540    *
541    * @return The boostSpec.
542    */
getBoostSpec()543   com.google.cloud.retail.v2.SearchRequest.BoostSpec getBoostSpec();
544   /**
545    *
546    *
547    * <pre>
548    * Boost specification to boost certain products. See more details at this
549    * [user guide](https://cloud.google.com/retail/docs/boosting).
550    * Notice that if both
551    * [ServingConfig.boost_control_ids][google.cloud.retail.v2.ServingConfig.boost_control_ids]
552    * and
553    * [SearchRequest.boost_spec][google.cloud.retail.v2.SearchRequest.boost_spec]
554    * are set, the boost conditions from both places are evaluated. If a search
555    * request matches multiple boost conditions, the final boost score is equal
556    * to the sum of the boost scores from all matched boost conditions.
557    * </pre>
558    *
559    * <code>.google.cloud.retail.v2.SearchRequest.BoostSpec boost_spec = 13;</code>
560    */
getBoostSpecOrBuilder()561   com.google.cloud.retail.v2.SearchRequest.BoostSpecOrBuilder getBoostSpecOrBuilder();
562 
563   /**
564    *
565    *
566    * <pre>
567    * The query expansion specification that specifies the conditions under which
568    * query expansion will occur. See more details at this [user
569    * guide](https://cloud.google.com/retail/docs/result-size#query_expansion).
570    * </pre>
571    *
572    * <code>.google.cloud.retail.v2.SearchRequest.QueryExpansionSpec query_expansion_spec = 14;
573    * </code>
574    *
575    * @return Whether the queryExpansionSpec field is set.
576    */
hasQueryExpansionSpec()577   boolean hasQueryExpansionSpec();
578   /**
579    *
580    *
581    * <pre>
582    * The query expansion specification that specifies the conditions under which
583    * query expansion will occur. See more details at this [user
584    * guide](https://cloud.google.com/retail/docs/result-size#query_expansion).
585    * </pre>
586    *
587    * <code>.google.cloud.retail.v2.SearchRequest.QueryExpansionSpec query_expansion_spec = 14;
588    * </code>
589    *
590    * @return The queryExpansionSpec.
591    */
getQueryExpansionSpec()592   com.google.cloud.retail.v2.SearchRequest.QueryExpansionSpec getQueryExpansionSpec();
593   /**
594    *
595    *
596    * <pre>
597    * The query expansion specification that specifies the conditions under which
598    * query expansion will occur. See more details at this [user
599    * guide](https://cloud.google.com/retail/docs/result-size#query_expansion).
600    * </pre>
601    *
602    * <code>.google.cloud.retail.v2.SearchRequest.QueryExpansionSpec query_expansion_spec = 14;
603    * </code>
604    */
605   com.google.cloud.retail.v2.SearchRequest.QueryExpansionSpecOrBuilder
getQueryExpansionSpecOrBuilder()606       getQueryExpansionSpecOrBuilder();
607 
608   /**
609    *
610    *
611    * <pre>
612    * The keys to fetch and rollup the matching
613    * [variant][google.cloud.retail.v2.Product.Type.VARIANT]
614    * [Product][google.cloud.retail.v2.Product]s attributes,
615    * [FulfillmentInfo][google.cloud.retail.v2.FulfillmentInfo] or
616    * [LocalInventory][google.cloud.retail.v2.LocalInventory]s attributes. The
617    * attributes from all the matching
618    * [variant][google.cloud.retail.v2.Product.Type.VARIANT]
619    * [Product][google.cloud.retail.v2.Product]s or
620    * [LocalInventory][google.cloud.retail.v2.LocalInventory]s are merged and
621    * de-duplicated. Notice that rollup attributes will lead to extra query
622    * latency. Maximum number of keys is 30.
623    * For [FulfillmentInfo][google.cloud.retail.v2.FulfillmentInfo], a
624    * fulfillment type and a fulfillment ID must be provided in the format of
625    * "fulfillmentType.fulfillmentId". E.g., in "pickupInStore.store123",
626    * "pickupInStore" is fulfillment type and "store123" is the store ID.
627    * Supported keys are:
628    * * colorFamilies
629    * * price
630    * * originalPrice
631    * * discount
632    * * variantId
633    * * inventory(place_id,price)
634    * * inventory(place_id,original_price)
635    * * inventory(place_id,attributes.key), where key is any key in the
636    *   [Product.local_inventories.attributes][google.cloud.retail.v2.LocalInventory.attributes]
637    *   map.
638    * * attributes.key, where key is any key in the
639    *   [Product.attributes][google.cloud.retail.v2.Product.attributes] map.
640    * * pickupInStore.id, where id is any
641    * [FulfillmentInfo.place_ids][google.cloud.retail.v2.FulfillmentInfo.place_ids]
642    * for [FulfillmentInfo.type][google.cloud.retail.v2.FulfillmentInfo.type]
643    *   "pickup-in-store".
644    * * shipToStore.id, where id is any
645    * [FulfillmentInfo.place_ids][google.cloud.retail.v2.FulfillmentInfo.place_ids]
646    * for [FulfillmentInfo.type][google.cloud.retail.v2.FulfillmentInfo.type]
647    *   "ship-to-store".
648    * * sameDayDelivery.id, where id is any
649    * [FulfillmentInfo.place_ids][google.cloud.retail.v2.FulfillmentInfo.place_ids]
650    * for [FulfillmentInfo.type][google.cloud.retail.v2.FulfillmentInfo.type]
651    *   "same-day-delivery".
652    * * nextDayDelivery.id, where id is any
653    * [FulfillmentInfo.place_ids][google.cloud.retail.v2.FulfillmentInfo.place_ids]
654    * for [FulfillmentInfo.type][google.cloud.retail.v2.FulfillmentInfo.type]
655    *   "next-day-delivery".
656    * * customFulfillment1.id, where id is any
657    * [FulfillmentInfo.place_ids][google.cloud.retail.v2.FulfillmentInfo.place_ids]
658    * for [FulfillmentInfo.type][google.cloud.retail.v2.FulfillmentInfo.type]
659    *   "custom-type-1".
660    * * customFulfillment2.id, where id is any
661    * [FulfillmentInfo.place_ids][google.cloud.retail.v2.FulfillmentInfo.place_ids]
662    * for [FulfillmentInfo.type][google.cloud.retail.v2.FulfillmentInfo.type]
663    *   "custom-type-2".
664    * * customFulfillment3.id, where id is any
665    * [FulfillmentInfo.place_ids][google.cloud.retail.v2.FulfillmentInfo.place_ids]
666    * for [FulfillmentInfo.type][google.cloud.retail.v2.FulfillmentInfo.type]
667    *   "custom-type-3".
668    * * customFulfillment4.id, where id is any
669    * [FulfillmentInfo.place_ids][google.cloud.retail.v2.FulfillmentInfo.place_ids]
670    * for [FulfillmentInfo.type][google.cloud.retail.v2.FulfillmentInfo.type]
671    *   "custom-type-4".
672    * * customFulfillment5.id, where id is any
673    * [FulfillmentInfo.place_ids][google.cloud.retail.v2.FulfillmentInfo.place_ids]
674    * for [FulfillmentInfo.type][google.cloud.retail.v2.FulfillmentInfo.type]
675    *   "custom-type-5".
676    * If this field is set to an invalid value other than these, an
677    * INVALID_ARGUMENT error is returned.
678    * </pre>
679    *
680    * <code>repeated string variant_rollup_keys = 17;</code>
681    *
682    * @return A list containing the variantRollupKeys.
683    */
getVariantRollupKeysList()684   java.util.List<java.lang.String> getVariantRollupKeysList();
685   /**
686    *
687    *
688    * <pre>
689    * The keys to fetch and rollup the matching
690    * [variant][google.cloud.retail.v2.Product.Type.VARIANT]
691    * [Product][google.cloud.retail.v2.Product]s attributes,
692    * [FulfillmentInfo][google.cloud.retail.v2.FulfillmentInfo] or
693    * [LocalInventory][google.cloud.retail.v2.LocalInventory]s attributes. The
694    * attributes from all the matching
695    * [variant][google.cloud.retail.v2.Product.Type.VARIANT]
696    * [Product][google.cloud.retail.v2.Product]s or
697    * [LocalInventory][google.cloud.retail.v2.LocalInventory]s are merged and
698    * de-duplicated. Notice that rollup attributes will lead to extra query
699    * latency. Maximum number of keys is 30.
700    * For [FulfillmentInfo][google.cloud.retail.v2.FulfillmentInfo], a
701    * fulfillment type and a fulfillment ID must be provided in the format of
702    * "fulfillmentType.fulfillmentId". E.g., in "pickupInStore.store123",
703    * "pickupInStore" is fulfillment type and "store123" is the store ID.
704    * Supported keys are:
705    * * colorFamilies
706    * * price
707    * * originalPrice
708    * * discount
709    * * variantId
710    * * inventory(place_id,price)
711    * * inventory(place_id,original_price)
712    * * inventory(place_id,attributes.key), where key is any key in the
713    *   [Product.local_inventories.attributes][google.cloud.retail.v2.LocalInventory.attributes]
714    *   map.
715    * * attributes.key, where key is any key in the
716    *   [Product.attributes][google.cloud.retail.v2.Product.attributes] map.
717    * * pickupInStore.id, where id is any
718    * [FulfillmentInfo.place_ids][google.cloud.retail.v2.FulfillmentInfo.place_ids]
719    * for [FulfillmentInfo.type][google.cloud.retail.v2.FulfillmentInfo.type]
720    *   "pickup-in-store".
721    * * shipToStore.id, where id is any
722    * [FulfillmentInfo.place_ids][google.cloud.retail.v2.FulfillmentInfo.place_ids]
723    * for [FulfillmentInfo.type][google.cloud.retail.v2.FulfillmentInfo.type]
724    *   "ship-to-store".
725    * * sameDayDelivery.id, where id is any
726    * [FulfillmentInfo.place_ids][google.cloud.retail.v2.FulfillmentInfo.place_ids]
727    * for [FulfillmentInfo.type][google.cloud.retail.v2.FulfillmentInfo.type]
728    *   "same-day-delivery".
729    * * nextDayDelivery.id, where id is any
730    * [FulfillmentInfo.place_ids][google.cloud.retail.v2.FulfillmentInfo.place_ids]
731    * for [FulfillmentInfo.type][google.cloud.retail.v2.FulfillmentInfo.type]
732    *   "next-day-delivery".
733    * * customFulfillment1.id, where id is any
734    * [FulfillmentInfo.place_ids][google.cloud.retail.v2.FulfillmentInfo.place_ids]
735    * for [FulfillmentInfo.type][google.cloud.retail.v2.FulfillmentInfo.type]
736    *   "custom-type-1".
737    * * customFulfillment2.id, where id is any
738    * [FulfillmentInfo.place_ids][google.cloud.retail.v2.FulfillmentInfo.place_ids]
739    * for [FulfillmentInfo.type][google.cloud.retail.v2.FulfillmentInfo.type]
740    *   "custom-type-2".
741    * * customFulfillment3.id, where id is any
742    * [FulfillmentInfo.place_ids][google.cloud.retail.v2.FulfillmentInfo.place_ids]
743    * for [FulfillmentInfo.type][google.cloud.retail.v2.FulfillmentInfo.type]
744    *   "custom-type-3".
745    * * customFulfillment4.id, where id is any
746    * [FulfillmentInfo.place_ids][google.cloud.retail.v2.FulfillmentInfo.place_ids]
747    * for [FulfillmentInfo.type][google.cloud.retail.v2.FulfillmentInfo.type]
748    *   "custom-type-4".
749    * * customFulfillment5.id, where id is any
750    * [FulfillmentInfo.place_ids][google.cloud.retail.v2.FulfillmentInfo.place_ids]
751    * for [FulfillmentInfo.type][google.cloud.retail.v2.FulfillmentInfo.type]
752    *   "custom-type-5".
753    * If this field is set to an invalid value other than these, an
754    * INVALID_ARGUMENT error is returned.
755    * </pre>
756    *
757    * <code>repeated string variant_rollup_keys = 17;</code>
758    *
759    * @return The count of variantRollupKeys.
760    */
getVariantRollupKeysCount()761   int getVariantRollupKeysCount();
762   /**
763    *
764    *
765    * <pre>
766    * The keys to fetch and rollup the matching
767    * [variant][google.cloud.retail.v2.Product.Type.VARIANT]
768    * [Product][google.cloud.retail.v2.Product]s attributes,
769    * [FulfillmentInfo][google.cloud.retail.v2.FulfillmentInfo] or
770    * [LocalInventory][google.cloud.retail.v2.LocalInventory]s attributes. The
771    * attributes from all the matching
772    * [variant][google.cloud.retail.v2.Product.Type.VARIANT]
773    * [Product][google.cloud.retail.v2.Product]s or
774    * [LocalInventory][google.cloud.retail.v2.LocalInventory]s are merged and
775    * de-duplicated. Notice that rollup attributes will lead to extra query
776    * latency. Maximum number of keys is 30.
777    * For [FulfillmentInfo][google.cloud.retail.v2.FulfillmentInfo], a
778    * fulfillment type and a fulfillment ID must be provided in the format of
779    * "fulfillmentType.fulfillmentId". E.g., in "pickupInStore.store123",
780    * "pickupInStore" is fulfillment type and "store123" is the store ID.
781    * Supported keys are:
782    * * colorFamilies
783    * * price
784    * * originalPrice
785    * * discount
786    * * variantId
787    * * inventory(place_id,price)
788    * * inventory(place_id,original_price)
789    * * inventory(place_id,attributes.key), where key is any key in the
790    *   [Product.local_inventories.attributes][google.cloud.retail.v2.LocalInventory.attributes]
791    *   map.
792    * * attributes.key, where key is any key in the
793    *   [Product.attributes][google.cloud.retail.v2.Product.attributes] map.
794    * * pickupInStore.id, where id is any
795    * [FulfillmentInfo.place_ids][google.cloud.retail.v2.FulfillmentInfo.place_ids]
796    * for [FulfillmentInfo.type][google.cloud.retail.v2.FulfillmentInfo.type]
797    *   "pickup-in-store".
798    * * shipToStore.id, where id is any
799    * [FulfillmentInfo.place_ids][google.cloud.retail.v2.FulfillmentInfo.place_ids]
800    * for [FulfillmentInfo.type][google.cloud.retail.v2.FulfillmentInfo.type]
801    *   "ship-to-store".
802    * * sameDayDelivery.id, where id is any
803    * [FulfillmentInfo.place_ids][google.cloud.retail.v2.FulfillmentInfo.place_ids]
804    * for [FulfillmentInfo.type][google.cloud.retail.v2.FulfillmentInfo.type]
805    *   "same-day-delivery".
806    * * nextDayDelivery.id, where id is any
807    * [FulfillmentInfo.place_ids][google.cloud.retail.v2.FulfillmentInfo.place_ids]
808    * for [FulfillmentInfo.type][google.cloud.retail.v2.FulfillmentInfo.type]
809    *   "next-day-delivery".
810    * * customFulfillment1.id, where id is any
811    * [FulfillmentInfo.place_ids][google.cloud.retail.v2.FulfillmentInfo.place_ids]
812    * for [FulfillmentInfo.type][google.cloud.retail.v2.FulfillmentInfo.type]
813    *   "custom-type-1".
814    * * customFulfillment2.id, where id is any
815    * [FulfillmentInfo.place_ids][google.cloud.retail.v2.FulfillmentInfo.place_ids]
816    * for [FulfillmentInfo.type][google.cloud.retail.v2.FulfillmentInfo.type]
817    *   "custom-type-2".
818    * * customFulfillment3.id, where id is any
819    * [FulfillmentInfo.place_ids][google.cloud.retail.v2.FulfillmentInfo.place_ids]
820    * for [FulfillmentInfo.type][google.cloud.retail.v2.FulfillmentInfo.type]
821    *   "custom-type-3".
822    * * customFulfillment4.id, where id is any
823    * [FulfillmentInfo.place_ids][google.cloud.retail.v2.FulfillmentInfo.place_ids]
824    * for [FulfillmentInfo.type][google.cloud.retail.v2.FulfillmentInfo.type]
825    *   "custom-type-4".
826    * * customFulfillment5.id, where id is any
827    * [FulfillmentInfo.place_ids][google.cloud.retail.v2.FulfillmentInfo.place_ids]
828    * for [FulfillmentInfo.type][google.cloud.retail.v2.FulfillmentInfo.type]
829    *   "custom-type-5".
830    * If this field is set to an invalid value other than these, an
831    * INVALID_ARGUMENT error is returned.
832    * </pre>
833    *
834    * <code>repeated string variant_rollup_keys = 17;</code>
835    *
836    * @param index The index of the element to return.
837    * @return The variantRollupKeys at the given index.
838    */
getVariantRollupKeys(int index)839   java.lang.String getVariantRollupKeys(int index);
840   /**
841    *
842    *
843    * <pre>
844    * The keys to fetch and rollup the matching
845    * [variant][google.cloud.retail.v2.Product.Type.VARIANT]
846    * [Product][google.cloud.retail.v2.Product]s attributes,
847    * [FulfillmentInfo][google.cloud.retail.v2.FulfillmentInfo] or
848    * [LocalInventory][google.cloud.retail.v2.LocalInventory]s attributes. The
849    * attributes from all the matching
850    * [variant][google.cloud.retail.v2.Product.Type.VARIANT]
851    * [Product][google.cloud.retail.v2.Product]s or
852    * [LocalInventory][google.cloud.retail.v2.LocalInventory]s are merged and
853    * de-duplicated. Notice that rollup attributes will lead to extra query
854    * latency. Maximum number of keys is 30.
855    * For [FulfillmentInfo][google.cloud.retail.v2.FulfillmentInfo], a
856    * fulfillment type and a fulfillment ID must be provided in the format of
857    * "fulfillmentType.fulfillmentId". E.g., in "pickupInStore.store123",
858    * "pickupInStore" is fulfillment type and "store123" is the store ID.
859    * Supported keys are:
860    * * colorFamilies
861    * * price
862    * * originalPrice
863    * * discount
864    * * variantId
865    * * inventory(place_id,price)
866    * * inventory(place_id,original_price)
867    * * inventory(place_id,attributes.key), where key is any key in the
868    *   [Product.local_inventories.attributes][google.cloud.retail.v2.LocalInventory.attributes]
869    *   map.
870    * * attributes.key, where key is any key in the
871    *   [Product.attributes][google.cloud.retail.v2.Product.attributes] map.
872    * * pickupInStore.id, where id is any
873    * [FulfillmentInfo.place_ids][google.cloud.retail.v2.FulfillmentInfo.place_ids]
874    * for [FulfillmentInfo.type][google.cloud.retail.v2.FulfillmentInfo.type]
875    *   "pickup-in-store".
876    * * shipToStore.id, where id is any
877    * [FulfillmentInfo.place_ids][google.cloud.retail.v2.FulfillmentInfo.place_ids]
878    * for [FulfillmentInfo.type][google.cloud.retail.v2.FulfillmentInfo.type]
879    *   "ship-to-store".
880    * * sameDayDelivery.id, where id is any
881    * [FulfillmentInfo.place_ids][google.cloud.retail.v2.FulfillmentInfo.place_ids]
882    * for [FulfillmentInfo.type][google.cloud.retail.v2.FulfillmentInfo.type]
883    *   "same-day-delivery".
884    * * nextDayDelivery.id, where id is any
885    * [FulfillmentInfo.place_ids][google.cloud.retail.v2.FulfillmentInfo.place_ids]
886    * for [FulfillmentInfo.type][google.cloud.retail.v2.FulfillmentInfo.type]
887    *   "next-day-delivery".
888    * * customFulfillment1.id, where id is any
889    * [FulfillmentInfo.place_ids][google.cloud.retail.v2.FulfillmentInfo.place_ids]
890    * for [FulfillmentInfo.type][google.cloud.retail.v2.FulfillmentInfo.type]
891    *   "custom-type-1".
892    * * customFulfillment2.id, where id is any
893    * [FulfillmentInfo.place_ids][google.cloud.retail.v2.FulfillmentInfo.place_ids]
894    * for [FulfillmentInfo.type][google.cloud.retail.v2.FulfillmentInfo.type]
895    *   "custom-type-2".
896    * * customFulfillment3.id, where id is any
897    * [FulfillmentInfo.place_ids][google.cloud.retail.v2.FulfillmentInfo.place_ids]
898    * for [FulfillmentInfo.type][google.cloud.retail.v2.FulfillmentInfo.type]
899    *   "custom-type-3".
900    * * customFulfillment4.id, where id is any
901    * [FulfillmentInfo.place_ids][google.cloud.retail.v2.FulfillmentInfo.place_ids]
902    * for [FulfillmentInfo.type][google.cloud.retail.v2.FulfillmentInfo.type]
903    *   "custom-type-4".
904    * * customFulfillment5.id, where id is any
905    * [FulfillmentInfo.place_ids][google.cloud.retail.v2.FulfillmentInfo.place_ids]
906    * for [FulfillmentInfo.type][google.cloud.retail.v2.FulfillmentInfo.type]
907    *   "custom-type-5".
908    * If this field is set to an invalid value other than these, an
909    * INVALID_ARGUMENT error is returned.
910    * </pre>
911    *
912    * <code>repeated string variant_rollup_keys = 17;</code>
913    *
914    * @param index The index of the value to return.
915    * @return The bytes of the variantRollupKeys at the given index.
916    */
getVariantRollupKeysBytes(int index)917   com.google.protobuf.ByteString getVariantRollupKeysBytes(int index);
918 
919   /**
920    *
921    *
922    * <pre>
923    * The categories associated with a category page. Required for category
924    * navigation queries to achieve good search quality. The format should be
925    * the same as
926    * [UserEvent.page_categories][google.cloud.retail.v2.UserEvent.page_categories];
927    * To represent full path of category, use '&gt;' sign to separate different
928    * hierarchies. If '&gt;' is part of the category name, replace it with
929    * other character(s).
930    * Category pages include special pages such as sales or promotions. For
931    * instance, a special sale page may have the category hierarchy:
932    * "pageCategories" : ["Sales &gt; 2017 Black Friday Deals"].
933    * </pre>
934    *
935    * <code>repeated string page_categories = 23;</code>
936    *
937    * @return A list containing the pageCategories.
938    */
getPageCategoriesList()939   java.util.List<java.lang.String> getPageCategoriesList();
940   /**
941    *
942    *
943    * <pre>
944    * The categories associated with a category page. Required for category
945    * navigation queries to achieve good search quality. The format should be
946    * the same as
947    * [UserEvent.page_categories][google.cloud.retail.v2.UserEvent.page_categories];
948    * To represent full path of category, use '&gt;' sign to separate different
949    * hierarchies. If '&gt;' is part of the category name, replace it with
950    * other character(s).
951    * Category pages include special pages such as sales or promotions. For
952    * instance, a special sale page may have the category hierarchy:
953    * "pageCategories" : ["Sales &gt; 2017 Black Friday Deals"].
954    * </pre>
955    *
956    * <code>repeated string page_categories = 23;</code>
957    *
958    * @return The count of pageCategories.
959    */
getPageCategoriesCount()960   int getPageCategoriesCount();
961   /**
962    *
963    *
964    * <pre>
965    * The categories associated with a category page. Required for category
966    * navigation queries to achieve good search quality. The format should be
967    * the same as
968    * [UserEvent.page_categories][google.cloud.retail.v2.UserEvent.page_categories];
969    * To represent full path of category, use '&gt;' sign to separate different
970    * hierarchies. If '&gt;' is part of the category name, replace it with
971    * other character(s).
972    * Category pages include special pages such as sales or promotions. For
973    * instance, a special sale page may have the category hierarchy:
974    * "pageCategories" : ["Sales &gt; 2017 Black Friday Deals"].
975    * </pre>
976    *
977    * <code>repeated string page_categories = 23;</code>
978    *
979    * @param index The index of the element to return.
980    * @return The pageCategories at the given index.
981    */
getPageCategories(int index)982   java.lang.String getPageCategories(int index);
983   /**
984    *
985    *
986    * <pre>
987    * The categories associated with a category page. Required for category
988    * navigation queries to achieve good search quality. The format should be
989    * the same as
990    * [UserEvent.page_categories][google.cloud.retail.v2.UserEvent.page_categories];
991    * To represent full path of category, use '&gt;' sign to separate different
992    * hierarchies. If '&gt;' is part of the category name, replace it with
993    * other character(s).
994    * Category pages include special pages such as sales or promotions. For
995    * instance, a special sale page may have the category hierarchy:
996    * "pageCategories" : ["Sales &gt; 2017 Black Friday Deals"].
997    * </pre>
998    *
999    * <code>repeated string page_categories = 23;</code>
1000    *
1001    * @param index The index of the value to return.
1002    * @return The bytes of the pageCategories at the given index.
1003    */
getPageCategoriesBytes(int index)1004   com.google.protobuf.ByteString getPageCategoriesBytes(int index);
1005 
1006   /**
1007    *
1008    *
1009    * <pre>
1010    * The search mode of the search request. If not specified, a single search
1011    * request triggers both product search and faceted search.
1012    * </pre>
1013    *
1014    * <code>.google.cloud.retail.v2.SearchRequest.SearchMode search_mode = 31;</code>
1015    *
1016    * @return The enum numeric value on the wire for searchMode.
1017    */
getSearchModeValue()1018   int getSearchModeValue();
1019   /**
1020    *
1021    *
1022    * <pre>
1023    * The search mode of the search request. If not specified, a single search
1024    * request triggers both product search and faceted search.
1025    * </pre>
1026    *
1027    * <code>.google.cloud.retail.v2.SearchRequest.SearchMode search_mode = 31;</code>
1028    *
1029    * @return The searchMode.
1030    */
getSearchMode()1031   com.google.cloud.retail.v2.SearchRequest.SearchMode getSearchMode();
1032 
1033   /**
1034    *
1035    *
1036    * <pre>
1037    * The specification for personalization.
1038    * Notice that if both
1039    * [ServingConfig.personalization_spec][google.cloud.retail.v2.ServingConfig.personalization_spec]
1040    * and
1041    * [SearchRequest.personalization_spec][google.cloud.retail.v2.SearchRequest.personalization_spec]
1042    * are set.
1043    * [SearchRequest.personalization_spec][google.cloud.retail.v2.SearchRequest.personalization_spec]
1044    * will override
1045    * [ServingConfig.personalization_spec][google.cloud.retail.v2.ServingConfig.personalization_spec].
1046    * </pre>
1047    *
1048    * <code>.google.cloud.retail.v2.SearchRequest.PersonalizationSpec personalization_spec = 32;
1049    * </code>
1050    *
1051    * @return Whether the personalizationSpec field is set.
1052    */
hasPersonalizationSpec()1053   boolean hasPersonalizationSpec();
1054   /**
1055    *
1056    *
1057    * <pre>
1058    * The specification for personalization.
1059    * Notice that if both
1060    * [ServingConfig.personalization_spec][google.cloud.retail.v2.ServingConfig.personalization_spec]
1061    * and
1062    * [SearchRequest.personalization_spec][google.cloud.retail.v2.SearchRequest.personalization_spec]
1063    * are set.
1064    * [SearchRequest.personalization_spec][google.cloud.retail.v2.SearchRequest.personalization_spec]
1065    * will override
1066    * [ServingConfig.personalization_spec][google.cloud.retail.v2.ServingConfig.personalization_spec].
1067    * </pre>
1068    *
1069    * <code>.google.cloud.retail.v2.SearchRequest.PersonalizationSpec personalization_spec = 32;
1070    * </code>
1071    *
1072    * @return The personalizationSpec.
1073    */
getPersonalizationSpec()1074   com.google.cloud.retail.v2.SearchRequest.PersonalizationSpec getPersonalizationSpec();
1075   /**
1076    *
1077    *
1078    * <pre>
1079    * The specification for personalization.
1080    * Notice that if both
1081    * [ServingConfig.personalization_spec][google.cloud.retail.v2.ServingConfig.personalization_spec]
1082    * and
1083    * [SearchRequest.personalization_spec][google.cloud.retail.v2.SearchRequest.personalization_spec]
1084    * are set.
1085    * [SearchRequest.personalization_spec][google.cloud.retail.v2.SearchRequest.personalization_spec]
1086    * will override
1087    * [ServingConfig.personalization_spec][google.cloud.retail.v2.ServingConfig.personalization_spec].
1088    * </pre>
1089    *
1090    * <code>.google.cloud.retail.v2.SearchRequest.PersonalizationSpec personalization_spec = 32;
1091    * </code>
1092    */
1093   com.google.cloud.retail.v2.SearchRequest.PersonalizationSpecOrBuilder
getPersonalizationSpecOrBuilder()1094       getPersonalizationSpecOrBuilder();
1095 
1096   /**
1097    *
1098    *
1099    * <pre>
1100    * The labels applied to a resource must meet the following requirements:
1101    * * Each resource can have multiple labels, up to a maximum of 64.
1102    * * Each label must be a key-value pair.
1103    * * Keys have a minimum length of 1 character and a maximum length of 63
1104    *   characters and cannot be empty. Values can be empty and have a maximum
1105    *   length of 63 characters.
1106    * * Keys and values can contain only lowercase letters, numeric characters,
1107    *   underscores, and dashes. All characters must use UTF-8 encoding, and
1108    *   international characters are allowed.
1109    * * The key portion of a label must be unique. However, you can use the same
1110    *   key with multiple resources.
1111    * * Keys must start with a lowercase letter or international character.
1112    * See [Google Cloud
1113    * Document](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements)
1114    * for more details.
1115    * </pre>
1116    *
1117    * <code>map&lt;string, string&gt; labels = 34;</code>
1118    */
getLabelsCount()1119   int getLabelsCount();
1120   /**
1121    *
1122    *
1123    * <pre>
1124    * The labels applied to a resource must meet the following requirements:
1125    * * Each resource can have multiple labels, up to a maximum of 64.
1126    * * Each label must be a key-value pair.
1127    * * Keys have a minimum length of 1 character and a maximum length of 63
1128    *   characters and cannot be empty. Values can be empty and have a maximum
1129    *   length of 63 characters.
1130    * * Keys and values can contain only lowercase letters, numeric characters,
1131    *   underscores, and dashes. All characters must use UTF-8 encoding, and
1132    *   international characters are allowed.
1133    * * The key portion of a label must be unique. However, you can use the same
1134    *   key with multiple resources.
1135    * * Keys must start with a lowercase letter or international character.
1136    * See [Google Cloud
1137    * Document](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements)
1138    * for more details.
1139    * </pre>
1140    *
1141    * <code>map&lt;string, string&gt; labels = 34;</code>
1142    */
containsLabels(java.lang.String key)1143   boolean containsLabels(java.lang.String key);
1144   /** Use {@link #getLabelsMap()} instead. */
1145   @java.lang.Deprecated
getLabels()1146   java.util.Map<java.lang.String, java.lang.String> getLabels();
1147   /**
1148    *
1149    *
1150    * <pre>
1151    * The labels applied to a resource must meet the following requirements:
1152    * * Each resource can have multiple labels, up to a maximum of 64.
1153    * * Each label must be a key-value pair.
1154    * * Keys have a minimum length of 1 character and a maximum length of 63
1155    *   characters and cannot be empty. Values can be empty and have a maximum
1156    *   length of 63 characters.
1157    * * Keys and values can contain only lowercase letters, numeric characters,
1158    *   underscores, and dashes. All characters must use UTF-8 encoding, and
1159    *   international characters are allowed.
1160    * * The key portion of a label must be unique. However, you can use the same
1161    *   key with multiple resources.
1162    * * Keys must start with a lowercase letter or international character.
1163    * See [Google Cloud
1164    * Document](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements)
1165    * for more details.
1166    * </pre>
1167    *
1168    * <code>map&lt;string, string&gt; labels = 34;</code>
1169    */
getLabelsMap()1170   java.util.Map<java.lang.String, java.lang.String> getLabelsMap();
1171   /**
1172    *
1173    *
1174    * <pre>
1175    * The labels applied to a resource must meet the following requirements:
1176    * * Each resource can have multiple labels, up to a maximum of 64.
1177    * * Each label must be a key-value pair.
1178    * * Keys have a minimum length of 1 character and a maximum length of 63
1179    *   characters and cannot be empty. Values can be empty and have a maximum
1180    *   length of 63 characters.
1181    * * Keys and values can contain only lowercase letters, numeric characters,
1182    *   underscores, and dashes. All characters must use UTF-8 encoding, and
1183    *   international characters are allowed.
1184    * * The key portion of a label must be unique. However, you can use the same
1185    *   key with multiple resources.
1186    * * Keys must start with a lowercase letter or international character.
1187    * See [Google Cloud
1188    * Document](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements)
1189    * for more details.
1190    * </pre>
1191    *
1192    * <code>map&lt;string, string&gt; labels = 34;</code>
1193    */
1194   /* nullable */
getLabelsOrDefault( java.lang.String key, java.lang.String defaultValue)1195   java.lang.String getLabelsOrDefault(
1196       java.lang.String key,
1197       /* nullable */
1198       java.lang.String defaultValue);
1199   /**
1200    *
1201    *
1202    * <pre>
1203    * The labels applied to a resource must meet the following requirements:
1204    * * Each resource can have multiple labels, up to a maximum of 64.
1205    * * Each label must be a key-value pair.
1206    * * Keys have a minimum length of 1 character and a maximum length of 63
1207    *   characters and cannot be empty. Values can be empty and have a maximum
1208    *   length of 63 characters.
1209    * * Keys and values can contain only lowercase letters, numeric characters,
1210    *   underscores, and dashes. All characters must use UTF-8 encoding, and
1211    *   international characters are allowed.
1212    * * The key portion of a label must be unique. However, you can use the same
1213    *   key with multiple resources.
1214    * * Keys must start with a lowercase letter or international character.
1215    * See [Google Cloud
1216    * Document](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements)
1217    * for more details.
1218    * </pre>
1219    *
1220    * <code>map&lt;string, string&gt; labels = 34;</code>
1221    */
getLabelsOrThrow(java.lang.String key)1222   java.lang.String getLabelsOrThrow(java.lang.String key);
1223 
1224   /**
1225    *
1226    *
1227    * <pre>
1228    * The spell correction specification that specifies the mode under
1229    * which spell correction will take effect.
1230    * </pre>
1231    *
1232    * <code>
1233    * optional .google.cloud.retail.v2.SearchRequest.SpellCorrectionSpec spell_correction_spec = 35;
1234    * </code>
1235    *
1236    * @return Whether the spellCorrectionSpec field is set.
1237    */
hasSpellCorrectionSpec()1238   boolean hasSpellCorrectionSpec();
1239   /**
1240    *
1241    *
1242    * <pre>
1243    * The spell correction specification that specifies the mode under
1244    * which spell correction will take effect.
1245    * </pre>
1246    *
1247    * <code>
1248    * optional .google.cloud.retail.v2.SearchRequest.SpellCorrectionSpec spell_correction_spec = 35;
1249    * </code>
1250    *
1251    * @return The spellCorrectionSpec.
1252    */
getSpellCorrectionSpec()1253   com.google.cloud.retail.v2.SearchRequest.SpellCorrectionSpec getSpellCorrectionSpec();
1254   /**
1255    *
1256    *
1257    * <pre>
1258    * The spell correction specification that specifies the mode under
1259    * which spell correction will take effect.
1260    * </pre>
1261    *
1262    * <code>
1263    * optional .google.cloud.retail.v2.SearchRequest.SpellCorrectionSpec spell_correction_spec = 35;
1264    * </code>
1265    */
1266   com.google.cloud.retail.v2.SearchRequest.SpellCorrectionSpecOrBuilder
getSpellCorrectionSpecOrBuilder()1267       getSpellCorrectionSpecOrBuilder();
1268 
1269   /**
1270    *
1271    *
1272    * <pre>
1273    * The entity for customers that may run multiple different entities, domains,
1274    * sites or regions, for example, `Google US`, `Google Ads`, `Waymo`,
1275    * `google.com`, `youtube.com`, etc.
1276    * If this is set, it should be exactly matched with
1277    * [UserEvent.entity][google.cloud.retail.v2.UserEvent.entity] to get search
1278    * results boosted by entity.
1279    * </pre>
1280    *
1281    * <code>string entity = 38;</code>
1282    *
1283    * @return The entity.
1284    */
getEntity()1285   java.lang.String getEntity();
1286   /**
1287    *
1288    *
1289    * <pre>
1290    * The entity for customers that may run multiple different entities, domains,
1291    * sites or regions, for example, `Google US`, `Google Ads`, `Waymo`,
1292    * `google.com`, `youtube.com`, etc.
1293    * If this is set, it should be exactly matched with
1294    * [UserEvent.entity][google.cloud.retail.v2.UserEvent.entity] to get search
1295    * results boosted by entity.
1296    * </pre>
1297    *
1298    * <code>string entity = 38;</code>
1299    *
1300    * @return The bytes for entity.
1301    */
getEntityBytes()1302   com.google.protobuf.ByteString getEntityBytes();
1303 }
1304