com.google.api.services.retail.v2.model.GoogleCloudRetailV2SearchRequest Maven / Gradle / Ivy
/*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
* in compliance with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software distributed under the License
* is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
* or implied. See the License for the specific language governing permissions and limitations under
* the License.
*/
/*
* This code was generated by https://github.com/googleapis/google-api-java-client-services/
* Modify at your own risk.
*/
package com.google.api.services.retail.v2.model;
/**
* Request message for SearchService.Search method.
*
* This is the Java data model class that specifies how to parse/serialize into the JSON that is
* transmitted over HTTP when working with the Vertex AI Search for Retail API. For a detailed
* explanation see:
* https://developers.google.com/api-client-library/java/google-http-java-client/json
*
*
* @author Google, Inc.
*/
@SuppressWarnings("javadoc")
public final class GoogleCloudRetailV2SearchRequest extends com.google.api.client.json.GenericJson {
/**
* Boost specification to boost certain products. For more information, see [Boost
* results](https://cloud.google.com/retail/docs/boosting). Notice that if both
* ServingConfig.boost_control_ids and SearchRequest.boost_spec are set, the boost conditions from
* both places are evaluated. If a search request matches multiple boost conditions, the final
* boost score is equal to the sum of the boost scores from all matched boost conditions.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private GoogleCloudRetailV2SearchRequestBoostSpec boostSpec;
/**
* The branch resource name, such as
* `projects/locations/global/catalogs/default_catalog/branches/0`. Use "default_branch" as the
* branch ID or leave this field empty, to search products under the default branch.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.String branch;
/**
* The default filter that is applied when a user performs a search without checking any filters
* on the search page. The filter applied to every search request when quality improvement such as
* query expansion is needed. In the case a query does not have a sufficient amount of results
* this filter will be used to determine whether or not to enable the query expansion flow. The
* original filter will still be used for the query expanded search. This field is strongly
* recommended to achieve high search quality. For more information about filter syntax, see
* SearchRequest.filter.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.String canonicalFilter;
/**
* Optional. This field specifies all conversational related parameters addition to traditional
* retail search.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private GoogleCloudRetailV2SearchRequestConversationalSearchSpec conversationalSearchSpec;
/**
* Deprecated. Refer to https://cloud.google.com/retail/docs/configs#dynamic to enable dynamic
* facets. Do not set this field. The specification for dynamically generated facets. Notice that
* only textual facets can be dynamically generated.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private GoogleCloudRetailV2SearchRequestDynamicFacetSpec dynamicFacetSpec;
/**
* The entity for customers that may run multiple different entities, domains, sites or regions,
* for example, `Google US`, `Google Ads`, `Waymo`, `google.com`, `youtube.com`, etc. If this is
* set, it should be exactly matched with UserEvent.entity to get search results boosted by
* entity.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.String entity;
/**
* Facet specifications for faceted search. If empty, no facets are returned. A maximum of 200
* values are allowed. Otherwise, an INVALID_ARGUMENT error is returned.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.util.List facetSpecs;
/**
* The filter syntax consists of an expression language for constructing a predicate from one or
* more fields of the products being filtered. Filter expression is case-sensitive. For more
* information, see [Filter](https://cloud.google.com/retail/docs/filter-and-order#filter). If
* this field is unrecognizable, an INVALID_ARGUMENT is returned.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.String filter;
/**
* The labels applied to a resource must meet the following requirements: * Each resource can have
* multiple labels, up to a maximum of 64. * Each label must be a key-value pair. * Keys have a
* minimum length of 1 character and a maximum length of 63 characters and cannot be empty. Values
* can be empty and have a maximum length of 63 characters. * Keys and values can contain only
* lowercase letters, numeric characters, underscores, and dashes. All characters must use UTF-8
* encoding, and international characters are allowed. * The key portion of a label must be
* unique. However, you can use the same key with multiple resources. * Keys must start with a
* lowercase letter or international character. For more information, see [Requirements for
* labels](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements)
* in the Resource Manager documentation.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.util.Map labels;
/**
* A 0-indexed integer that specifies the current offset (that is, starting result location,
* amongst the Products deemed by the API as relevant) in search results. This field is only
* considered if page_token is unset. If this field is negative, an INVALID_ARGUMENT is returned.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.Integer offset;
/**
* The order in which products are returned. Products can be ordered by a field in an Product
* object. Leave it unset if ordered by relevance. OrderBy expression is case-sensitive. For more
* information, see [Order](https://cloud.google.com/retail/docs/filter-and-order#order). If this
* field is unrecognizable, an INVALID_ARGUMENT is returned.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.String orderBy;
/**
* The categories associated with a category page. Must be set for category navigation queries to
* achieve good search quality. The format should be the same as UserEvent.page_categories; To
* represent full path of category, use '>' sign to separate different hierarchies. If '>' is part
* of the category name, replace it with other character(s). Category pages include special pages
* such as sales or promotions. For instance, a special sale page may have the category hierarchy:
* "pageCategories" : ["Sales > 2017 Black Friday Deals"].
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.util.List pageCategories;
/**
* Maximum number of Products to return. If unspecified, defaults to a reasonable value. The
* maximum allowed value is 120. Values above 120 will be coerced to 120. If this field is
* negative, an INVALID_ARGUMENT is returned.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.Integer pageSize;
/**
* A page token SearchResponse.next_page_token, received from a previous SearchService.Search
* call. Provide this to retrieve the subsequent page. When paginating, all other parameters
* provided to SearchService.Search must match the call that provided the page token. Otherwise,
* an INVALID_ARGUMENT error is returned.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.String pageToken;
/**
* The specification for personalization. Notice that if both ServingConfig.personalization_spec
* and SearchRequest.personalization_spec are set. SearchRequest.personalization_spec will
* override ServingConfig.personalization_spec.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private GoogleCloudRetailV2SearchRequestPersonalizationSpec personalizationSpec;
/**
* Raw search query. If this field is empty, the request is considered a category browsing request
* and returned results are based on filter and page_categories.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.String query;
/**
* The query expansion specification that specifies the conditions under which query expansion
* occurs. For more information, see [Query
* expansion](https://cloud.google.com/retail/docs/result-size#query_expansion).
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private GoogleCloudRetailV2SearchRequestQueryExpansionSpec queryExpansionSpec;
/**
* The search mode of the search request. If not specified, a single search request triggers both
* product search and faceted search.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.String searchMode;
/**
* The spell correction specification that specifies the mode under which spell correction will
* take effect.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private GoogleCloudRetailV2SearchRequestSpellCorrectionSpec spellCorrectionSpec;
/**
* Optional. This field specifies tile navigation related parameters.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private GoogleCloudRetailV2SearchRequestTileNavigationSpec tileNavigationSpec;
/**
* User information.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private GoogleCloudRetailV2UserInfo userInfo;
/**
* The keys to fetch and rollup the matching variant Products attributes, FulfillmentInfo or
* LocalInventorys attributes. The attributes from all the matching variant Products or
* LocalInventorys are merged and de-duplicated. Notice that rollup attributes will lead to extra
* query latency. Maximum number of keys is 30. For FulfillmentInfo, a fulfillment type and a
* fulfillment ID must be provided in the format of "fulfillmentType.fulfillmentId". E.g., in
* "pickupInStore.store123", "pickupInStore" is fulfillment type and "store123" is the store ID.
* Supported keys are: * colorFamilies * price * originalPrice * discount * variantId *
* inventory(place_id,price) * inventory(place_id,original_price) *
* inventory(place_id,attributes.key), where key is any key in the
* Product.local_inventories.attributes map. * attributes.key, where key is any key in the
* Product.attributes map. * pickupInStore.id, where id is any FulfillmentInfo.place_ids for
* FulfillmentInfo.type "pickup-in-store". * shipToStore.id, where id is any
* FulfillmentInfo.place_ids for FulfillmentInfo.type "ship-to-store". * sameDayDelivery.id, where
* id is any FulfillmentInfo.place_ids for FulfillmentInfo.type "same-day-delivery". *
* nextDayDelivery.id, where id is any FulfillmentInfo.place_ids for FulfillmentInfo.type "next-
* day-delivery". * customFulfillment1.id, where id is any FulfillmentInfo.place_ids for
* FulfillmentInfo.type "custom-type-1". * customFulfillment2.id, where id is any
* FulfillmentInfo.place_ids for FulfillmentInfo.type "custom-type-2". * customFulfillment3.id,
* where id is any FulfillmentInfo.place_ids for FulfillmentInfo.type "custom-type-3". *
* customFulfillment4.id, where id is any FulfillmentInfo.place_ids for FulfillmentInfo.type
* "custom-type-4". * customFulfillment5.id, where id is any FulfillmentInfo.place_ids for
* FulfillmentInfo.type "custom-type-5". If this field is set to an invalid value other than
* these, an INVALID_ARGUMENT error is returned.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.util.List variantRollupKeys;
/**
* Required. A unique identifier for tracking visitors. For example, this could be implemented
* with an HTTP cookie, which should be able to uniquely identify a visitor on a single device.
* This unique identifier should not change if the visitor logs in or out of the website. This
* should be the same identifier as UserEvent.visitor_id. The field must be a UTF-8 encoded string
* with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.String visitorId;
/**
* Boost specification to boost certain products. For more information, see [Boost
* results](https://cloud.google.com/retail/docs/boosting). Notice that if both
* ServingConfig.boost_control_ids and SearchRequest.boost_spec are set, the boost conditions from
* both places are evaluated. If a search request matches multiple boost conditions, the final
* boost score is equal to the sum of the boost scores from all matched boost conditions.
* @return value or {@code null} for none
*/
public GoogleCloudRetailV2SearchRequestBoostSpec getBoostSpec() {
return boostSpec;
}
/**
* Boost specification to boost certain products. For more information, see [Boost
* results](https://cloud.google.com/retail/docs/boosting). Notice that if both
* ServingConfig.boost_control_ids and SearchRequest.boost_spec are set, the boost conditions from
* both places are evaluated. If a search request matches multiple boost conditions, the final
* boost score is equal to the sum of the boost scores from all matched boost conditions.
* @param boostSpec boostSpec or {@code null} for none
*/
public GoogleCloudRetailV2SearchRequest setBoostSpec(GoogleCloudRetailV2SearchRequestBoostSpec boostSpec) {
this.boostSpec = boostSpec;
return this;
}
/**
* The branch resource name, such as
* `projects/locations/global/catalogs/default_catalog/branches/0`. Use "default_branch" as the
* branch ID or leave this field empty, to search products under the default branch.
* @return value or {@code null} for none
*/
public java.lang.String getBranch() {
return branch;
}
/**
* The branch resource name, such as
* `projects/locations/global/catalogs/default_catalog/branches/0`. Use "default_branch" as the
* branch ID or leave this field empty, to search products under the default branch.
* @param branch branch or {@code null} for none
*/
public GoogleCloudRetailV2SearchRequest setBranch(java.lang.String branch) {
this.branch = branch;
return this;
}
/**
* The default filter that is applied when a user performs a search without checking any filters
* on the search page. The filter applied to every search request when quality improvement such as
* query expansion is needed. In the case a query does not have a sufficient amount of results
* this filter will be used to determine whether or not to enable the query expansion flow. The
* original filter will still be used for the query expanded search. This field is strongly
* recommended to achieve high search quality. For more information about filter syntax, see
* SearchRequest.filter.
* @return value or {@code null} for none
*/
public java.lang.String getCanonicalFilter() {
return canonicalFilter;
}
/**
* The default filter that is applied when a user performs a search without checking any filters
* on the search page. The filter applied to every search request when quality improvement such as
* query expansion is needed. In the case a query does not have a sufficient amount of results
* this filter will be used to determine whether or not to enable the query expansion flow. The
* original filter will still be used for the query expanded search. This field is strongly
* recommended to achieve high search quality. For more information about filter syntax, see
* SearchRequest.filter.
* @param canonicalFilter canonicalFilter or {@code null} for none
*/
public GoogleCloudRetailV2SearchRequest setCanonicalFilter(java.lang.String canonicalFilter) {
this.canonicalFilter = canonicalFilter;
return this;
}
/**
* Optional. This field specifies all conversational related parameters addition to traditional
* retail search.
* @return value or {@code null} for none
*/
public GoogleCloudRetailV2SearchRequestConversationalSearchSpec getConversationalSearchSpec() {
return conversationalSearchSpec;
}
/**
* Optional. This field specifies all conversational related parameters addition to traditional
* retail search.
* @param conversationalSearchSpec conversationalSearchSpec or {@code null} for none
*/
public GoogleCloudRetailV2SearchRequest setConversationalSearchSpec(GoogleCloudRetailV2SearchRequestConversationalSearchSpec conversationalSearchSpec) {
this.conversationalSearchSpec = conversationalSearchSpec;
return this;
}
/**
* Deprecated. Refer to https://cloud.google.com/retail/docs/configs#dynamic to enable dynamic
* facets. Do not set this field. The specification for dynamically generated facets. Notice that
* only textual facets can be dynamically generated.
* @return value or {@code null} for none
*/
public GoogleCloudRetailV2SearchRequestDynamicFacetSpec getDynamicFacetSpec() {
return dynamicFacetSpec;
}
/**
* Deprecated. Refer to https://cloud.google.com/retail/docs/configs#dynamic to enable dynamic
* facets. Do not set this field. The specification for dynamically generated facets. Notice that
* only textual facets can be dynamically generated.
* @param dynamicFacetSpec dynamicFacetSpec or {@code null} for none
*/
public GoogleCloudRetailV2SearchRequest setDynamicFacetSpec(GoogleCloudRetailV2SearchRequestDynamicFacetSpec dynamicFacetSpec) {
this.dynamicFacetSpec = dynamicFacetSpec;
return this;
}
/**
* The entity for customers that may run multiple different entities, domains, sites or regions,
* for example, `Google US`, `Google Ads`, `Waymo`, `google.com`, `youtube.com`, etc. If this is
* set, it should be exactly matched with UserEvent.entity to get search results boosted by
* entity.
* @return value or {@code null} for none
*/
public java.lang.String getEntity() {
return entity;
}
/**
* The entity for customers that may run multiple different entities, domains, sites or regions,
* for example, `Google US`, `Google Ads`, `Waymo`, `google.com`, `youtube.com`, etc. If this is
* set, it should be exactly matched with UserEvent.entity to get search results boosted by
* entity.
* @param entity entity or {@code null} for none
*/
public GoogleCloudRetailV2SearchRequest setEntity(java.lang.String entity) {
this.entity = entity;
return this;
}
/**
* Facet specifications for faceted search. If empty, no facets are returned. A maximum of 200
* values are allowed. Otherwise, an INVALID_ARGUMENT error is returned.
* @return value or {@code null} for none
*/
public java.util.List getFacetSpecs() {
return facetSpecs;
}
/**
* Facet specifications for faceted search. If empty, no facets are returned. A maximum of 200
* values are allowed. Otherwise, an INVALID_ARGUMENT error is returned.
* @param facetSpecs facetSpecs or {@code null} for none
*/
public GoogleCloudRetailV2SearchRequest setFacetSpecs(java.util.List facetSpecs) {
this.facetSpecs = facetSpecs;
return this;
}
/**
* The filter syntax consists of an expression language for constructing a predicate from one or
* more fields of the products being filtered. Filter expression is case-sensitive. For more
* information, see [Filter](https://cloud.google.com/retail/docs/filter-and-order#filter). If
* this field is unrecognizable, an INVALID_ARGUMENT is returned.
* @return value or {@code null} for none
*/
public java.lang.String getFilter() {
return filter;
}
/**
* The filter syntax consists of an expression language for constructing a predicate from one or
* more fields of the products being filtered. Filter expression is case-sensitive. For more
* information, see [Filter](https://cloud.google.com/retail/docs/filter-and-order#filter). If
* this field is unrecognizable, an INVALID_ARGUMENT is returned.
* @param filter filter or {@code null} for none
*/
public GoogleCloudRetailV2SearchRequest setFilter(java.lang.String filter) {
this.filter = filter;
return this;
}
/**
* The labels applied to a resource must meet the following requirements: * Each resource can have
* multiple labels, up to a maximum of 64. * Each label must be a key-value pair. * Keys have a
* minimum length of 1 character and a maximum length of 63 characters and cannot be empty. Values
* can be empty and have a maximum length of 63 characters. * Keys and values can contain only
* lowercase letters, numeric characters, underscores, and dashes. All characters must use UTF-8
* encoding, and international characters are allowed. * The key portion of a label must be
* unique. However, you can use the same key with multiple resources. * Keys must start with a
* lowercase letter or international character. For more information, see [Requirements for
* labels](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements)
* in the Resource Manager documentation.
* @return value or {@code null} for none
*/
public java.util.Map getLabels() {
return labels;
}
/**
* The labels applied to a resource must meet the following requirements: * Each resource can have
* multiple labels, up to a maximum of 64. * Each label must be a key-value pair. * Keys have a
* minimum length of 1 character and a maximum length of 63 characters and cannot be empty. Values
* can be empty and have a maximum length of 63 characters. * Keys and values can contain only
* lowercase letters, numeric characters, underscores, and dashes. All characters must use UTF-8
* encoding, and international characters are allowed. * The key portion of a label must be
* unique. However, you can use the same key with multiple resources. * Keys must start with a
* lowercase letter or international character. For more information, see [Requirements for
* labels](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements)
* in the Resource Manager documentation.
* @param labels labels or {@code null} for none
*/
public GoogleCloudRetailV2SearchRequest setLabels(java.util.Map labels) {
this.labels = labels;
return this;
}
/**
* A 0-indexed integer that specifies the current offset (that is, starting result location,
* amongst the Products deemed by the API as relevant) in search results. This field is only
* considered if page_token is unset. If this field is negative, an INVALID_ARGUMENT is returned.
* @return value or {@code null} for none
*/
public java.lang.Integer getOffset() {
return offset;
}
/**
* A 0-indexed integer that specifies the current offset (that is, starting result location,
* amongst the Products deemed by the API as relevant) in search results. This field is only
* considered if page_token is unset. If this field is negative, an INVALID_ARGUMENT is returned.
* @param offset offset or {@code null} for none
*/
public GoogleCloudRetailV2SearchRequest setOffset(java.lang.Integer offset) {
this.offset = offset;
return this;
}
/**
* The order in which products are returned. Products can be ordered by a field in an Product
* object. Leave it unset if ordered by relevance. OrderBy expression is case-sensitive. For more
* information, see [Order](https://cloud.google.com/retail/docs/filter-and-order#order). If this
* field is unrecognizable, an INVALID_ARGUMENT is returned.
* @return value or {@code null} for none
*/
public java.lang.String getOrderBy() {
return orderBy;
}
/**
* The order in which products are returned. Products can be ordered by a field in an Product
* object. Leave it unset if ordered by relevance. OrderBy expression is case-sensitive. For more
* information, see [Order](https://cloud.google.com/retail/docs/filter-and-order#order). If this
* field is unrecognizable, an INVALID_ARGUMENT is returned.
* @param orderBy orderBy or {@code null} for none
*/
public GoogleCloudRetailV2SearchRequest setOrderBy(java.lang.String orderBy) {
this.orderBy = orderBy;
return this;
}
/**
* The categories associated with a category page. Must be set for category navigation queries to
* achieve good search quality. The format should be the same as UserEvent.page_categories; To
* represent full path of category, use '>' sign to separate different hierarchies. If '>' is part
* of the category name, replace it with other character(s). Category pages include special pages
* such as sales or promotions. For instance, a special sale page may have the category hierarchy:
* "pageCategories" : ["Sales > 2017 Black Friday Deals"].
* @return value or {@code null} for none
*/
public java.util.List getPageCategories() {
return pageCategories;
}
/**
* The categories associated with a category page. Must be set for category navigation queries to
* achieve good search quality. The format should be the same as UserEvent.page_categories; To
* represent full path of category, use '>' sign to separate different hierarchies. If '>' is part
* of the category name, replace it with other character(s). Category pages include special pages
* such as sales or promotions. For instance, a special sale page may have the category hierarchy:
* "pageCategories" : ["Sales > 2017 Black Friday Deals"].
* @param pageCategories pageCategories or {@code null} for none
*/
public GoogleCloudRetailV2SearchRequest setPageCategories(java.util.List pageCategories) {
this.pageCategories = pageCategories;
return this;
}
/**
* Maximum number of Products to return. If unspecified, defaults to a reasonable value. The
* maximum allowed value is 120. Values above 120 will be coerced to 120. If this field is
* negative, an INVALID_ARGUMENT is returned.
* @return value or {@code null} for none
*/
public java.lang.Integer getPageSize() {
return pageSize;
}
/**
* Maximum number of Products to return. If unspecified, defaults to a reasonable value. The
* maximum allowed value is 120. Values above 120 will be coerced to 120. If this field is
* negative, an INVALID_ARGUMENT is returned.
* @param pageSize pageSize or {@code null} for none
*/
public GoogleCloudRetailV2SearchRequest setPageSize(java.lang.Integer pageSize) {
this.pageSize = pageSize;
return this;
}
/**
* A page token SearchResponse.next_page_token, received from a previous SearchService.Search
* call. Provide this to retrieve the subsequent page. When paginating, all other parameters
* provided to SearchService.Search must match the call that provided the page token. Otherwise,
* an INVALID_ARGUMENT error is returned.
* @return value or {@code null} for none
*/
public java.lang.String getPageToken() {
return pageToken;
}
/**
* A page token SearchResponse.next_page_token, received from a previous SearchService.Search
* call. Provide this to retrieve the subsequent page. When paginating, all other parameters
* provided to SearchService.Search must match the call that provided the page token. Otherwise,
* an INVALID_ARGUMENT error is returned.
* @param pageToken pageToken or {@code null} for none
*/
public GoogleCloudRetailV2SearchRequest setPageToken(java.lang.String pageToken) {
this.pageToken = pageToken;
return this;
}
/**
* The specification for personalization. Notice that if both ServingConfig.personalization_spec
* and SearchRequest.personalization_spec are set. SearchRequest.personalization_spec will
* override ServingConfig.personalization_spec.
* @return value or {@code null} for none
*/
public GoogleCloudRetailV2SearchRequestPersonalizationSpec getPersonalizationSpec() {
return personalizationSpec;
}
/**
* The specification for personalization. Notice that if both ServingConfig.personalization_spec
* and SearchRequest.personalization_spec are set. SearchRequest.personalization_spec will
* override ServingConfig.personalization_spec.
* @param personalizationSpec personalizationSpec or {@code null} for none
*/
public GoogleCloudRetailV2SearchRequest setPersonalizationSpec(GoogleCloudRetailV2SearchRequestPersonalizationSpec personalizationSpec) {
this.personalizationSpec = personalizationSpec;
return this;
}
/**
* Raw search query. If this field is empty, the request is considered a category browsing request
* and returned results are based on filter and page_categories.
* @return value or {@code null} for none
*/
public java.lang.String getQuery() {
return query;
}
/**
* Raw search query. If this field is empty, the request is considered a category browsing request
* and returned results are based on filter and page_categories.
* @param query query or {@code null} for none
*/
public GoogleCloudRetailV2SearchRequest setQuery(java.lang.String query) {
this.query = query;
return this;
}
/**
* The query expansion specification that specifies the conditions under which query expansion
* occurs. For more information, see [Query
* expansion](https://cloud.google.com/retail/docs/result-size#query_expansion).
* @return value or {@code null} for none
*/
public GoogleCloudRetailV2SearchRequestQueryExpansionSpec getQueryExpansionSpec() {
return queryExpansionSpec;
}
/**
* The query expansion specification that specifies the conditions under which query expansion
* occurs. For more information, see [Query
* expansion](https://cloud.google.com/retail/docs/result-size#query_expansion).
* @param queryExpansionSpec queryExpansionSpec or {@code null} for none
*/
public GoogleCloudRetailV2SearchRequest setQueryExpansionSpec(GoogleCloudRetailV2SearchRequestQueryExpansionSpec queryExpansionSpec) {
this.queryExpansionSpec = queryExpansionSpec;
return this;
}
/**
* The search mode of the search request. If not specified, a single search request triggers both
* product search and faceted search.
* @return value or {@code null} for none
*/
public java.lang.String getSearchMode() {
return searchMode;
}
/**
* The search mode of the search request. If not specified, a single search request triggers both
* product search and faceted search.
* @param searchMode searchMode or {@code null} for none
*/
public GoogleCloudRetailV2SearchRequest setSearchMode(java.lang.String searchMode) {
this.searchMode = searchMode;
return this;
}
/**
* The spell correction specification that specifies the mode under which spell correction will
* take effect.
* @return value or {@code null} for none
*/
public GoogleCloudRetailV2SearchRequestSpellCorrectionSpec getSpellCorrectionSpec() {
return spellCorrectionSpec;
}
/**
* The spell correction specification that specifies the mode under which spell correction will
* take effect.
* @param spellCorrectionSpec spellCorrectionSpec or {@code null} for none
*/
public GoogleCloudRetailV2SearchRequest setSpellCorrectionSpec(GoogleCloudRetailV2SearchRequestSpellCorrectionSpec spellCorrectionSpec) {
this.spellCorrectionSpec = spellCorrectionSpec;
return this;
}
/**
* Optional. This field specifies tile navigation related parameters.
* @return value or {@code null} for none
*/
public GoogleCloudRetailV2SearchRequestTileNavigationSpec getTileNavigationSpec() {
return tileNavigationSpec;
}
/**
* Optional. This field specifies tile navigation related parameters.
* @param tileNavigationSpec tileNavigationSpec or {@code null} for none
*/
public GoogleCloudRetailV2SearchRequest setTileNavigationSpec(GoogleCloudRetailV2SearchRequestTileNavigationSpec tileNavigationSpec) {
this.tileNavigationSpec = tileNavigationSpec;
return this;
}
/**
* User information.
* @return value or {@code null} for none
*/
public GoogleCloudRetailV2UserInfo getUserInfo() {
return userInfo;
}
/**
* User information.
* @param userInfo userInfo or {@code null} for none
*/
public GoogleCloudRetailV2SearchRequest setUserInfo(GoogleCloudRetailV2UserInfo userInfo) {
this.userInfo = userInfo;
return this;
}
/**
* The keys to fetch and rollup the matching variant Products attributes, FulfillmentInfo or
* LocalInventorys attributes. The attributes from all the matching variant Products or
* LocalInventorys are merged and de-duplicated. Notice that rollup attributes will lead to extra
* query latency. Maximum number of keys is 30. For FulfillmentInfo, a fulfillment type and a
* fulfillment ID must be provided in the format of "fulfillmentType.fulfillmentId". E.g., in
* "pickupInStore.store123", "pickupInStore" is fulfillment type and "store123" is the store ID.
* Supported keys are: * colorFamilies * price * originalPrice * discount * variantId *
* inventory(place_id,price) * inventory(place_id,original_price) *
* inventory(place_id,attributes.key), where key is any key in the
* Product.local_inventories.attributes map. * attributes.key, where key is any key in the
* Product.attributes map. * pickupInStore.id, where id is any FulfillmentInfo.place_ids for
* FulfillmentInfo.type "pickup-in-store". * shipToStore.id, where id is any
* FulfillmentInfo.place_ids for FulfillmentInfo.type "ship-to-store". * sameDayDelivery.id, where
* id is any FulfillmentInfo.place_ids for FulfillmentInfo.type "same-day-delivery". *
* nextDayDelivery.id, where id is any FulfillmentInfo.place_ids for FulfillmentInfo.type "next-
* day-delivery". * customFulfillment1.id, where id is any FulfillmentInfo.place_ids for
* FulfillmentInfo.type "custom-type-1". * customFulfillment2.id, where id is any
* FulfillmentInfo.place_ids for FulfillmentInfo.type "custom-type-2". * customFulfillment3.id,
* where id is any FulfillmentInfo.place_ids for FulfillmentInfo.type "custom-type-3". *
* customFulfillment4.id, where id is any FulfillmentInfo.place_ids for FulfillmentInfo.type
* "custom-type-4". * customFulfillment5.id, where id is any FulfillmentInfo.place_ids for
* FulfillmentInfo.type "custom-type-5". If this field is set to an invalid value other than
* these, an INVALID_ARGUMENT error is returned.
* @return value or {@code null} for none
*/
public java.util.List getVariantRollupKeys() {
return variantRollupKeys;
}
/**
* The keys to fetch and rollup the matching variant Products attributes, FulfillmentInfo or
* LocalInventorys attributes. The attributes from all the matching variant Products or
* LocalInventorys are merged and de-duplicated. Notice that rollup attributes will lead to extra
* query latency. Maximum number of keys is 30. For FulfillmentInfo, a fulfillment type and a
* fulfillment ID must be provided in the format of "fulfillmentType.fulfillmentId". E.g., in
* "pickupInStore.store123", "pickupInStore" is fulfillment type and "store123" is the store ID.
* Supported keys are: * colorFamilies * price * originalPrice * discount * variantId *
* inventory(place_id,price) * inventory(place_id,original_price) *
* inventory(place_id,attributes.key), where key is any key in the
* Product.local_inventories.attributes map. * attributes.key, where key is any key in the
* Product.attributes map. * pickupInStore.id, where id is any FulfillmentInfo.place_ids for
* FulfillmentInfo.type "pickup-in-store". * shipToStore.id, where id is any
* FulfillmentInfo.place_ids for FulfillmentInfo.type "ship-to-store". * sameDayDelivery.id, where
* id is any FulfillmentInfo.place_ids for FulfillmentInfo.type "same-day-delivery". *
* nextDayDelivery.id, where id is any FulfillmentInfo.place_ids for FulfillmentInfo.type "next-
* day-delivery". * customFulfillment1.id, where id is any FulfillmentInfo.place_ids for
* FulfillmentInfo.type "custom-type-1". * customFulfillment2.id, where id is any
* FulfillmentInfo.place_ids for FulfillmentInfo.type "custom-type-2". * customFulfillment3.id,
* where id is any FulfillmentInfo.place_ids for FulfillmentInfo.type "custom-type-3". *
* customFulfillment4.id, where id is any FulfillmentInfo.place_ids for FulfillmentInfo.type
* "custom-type-4". * customFulfillment5.id, where id is any FulfillmentInfo.place_ids for
* FulfillmentInfo.type "custom-type-5". If this field is set to an invalid value other than
* these, an INVALID_ARGUMENT error is returned.
* @param variantRollupKeys variantRollupKeys or {@code null} for none
*/
public GoogleCloudRetailV2SearchRequest setVariantRollupKeys(java.util.List variantRollupKeys) {
this.variantRollupKeys = variantRollupKeys;
return this;
}
/**
* Required. A unique identifier for tracking visitors. For example, this could be implemented
* with an HTTP cookie, which should be able to uniquely identify a visitor on a single device.
* This unique identifier should not change if the visitor logs in or out of the website. This
* should be the same identifier as UserEvent.visitor_id. The field must be a UTF-8 encoded string
* with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned.
* @return value or {@code null} for none
*/
public java.lang.String getVisitorId() {
return visitorId;
}
/**
* Required. A unique identifier for tracking visitors. For example, this could be implemented
* with an HTTP cookie, which should be able to uniquely identify a visitor on a single device.
* This unique identifier should not change if the visitor logs in or out of the website. This
* should be the same identifier as UserEvent.visitor_id. The field must be a UTF-8 encoded string
* with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned.
* @param visitorId visitorId or {@code null} for none
*/
public GoogleCloudRetailV2SearchRequest setVisitorId(java.lang.String visitorId) {
this.visitorId = visitorId;
return this;
}
@Override
public GoogleCloudRetailV2SearchRequest set(String fieldName, Object value) {
return (GoogleCloudRetailV2SearchRequest) super.set(fieldName, value);
}
@Override
public GoogleCloudRetailV2SearchRequest clone() {
return (GoogleCloudRetailV2SearchRequest) super.clone();
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy