All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.google.api.services.retail.v2.model.GoogleCloudRetailV2SearchRequestFacetSpecFacetKey Maven / Gradle / Ivy

The newest version!
/*
 * 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;

/**
 * Specifies how a facet is computed.
 *
 * 

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 GoogleCloudRetailV2SearchRequestFacetSpecFacetKey extends com.google.api.client.json.GenericJson { /** * True to make facet keys case insensitive when getting faceting values with prefixes or * contains; false otherwise. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.Boolean caseInsensitive; /** * Only get facet values that contains the given strings. For example, suppose "categories" has * three values "Women > Shoe", "Women > Dress" and "Men > Shoe". If set "contains" to "Shoe", the * "categories" facet gives only "Women > Shoe" and "Men > Shoe". Only supported on textual * fields. Maximum is 10. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.util.List contains; /** * Set only if values should be bucketized into intervals. Must be set for facets with numerical * values. Must not be set for facet with text values. Maximum number of intervals is 40. For all * numerical facet keys that appear in the list of products from the catalog, the percentiles 0, * 10, 30, 50, 70, 90, and 100 are computed from their distribution weekly. If the model assigns a * high score to a numerical facet key and its intervals are not specified in the search request, * these percentiles become the bounds for its intervals and are returned in the response. If the * facet key intervals are specified in the request, then the specified intervals are returned * instead. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.util.List intervals; static { // hack to force ProGuard to consider GoogleCloudRetailV2Interval used, since otherwise it would be stripped out // see https://github.com/google/google-api-java-client/issues/543 com.google.api.client.util.Data.nullOf(GoogleCloudRetailV2Interval.class); } /** * Required. Supported textual and numerical facet keys in Product object, over which the facet * values are computed. Facet key is case-sensitive. Allowed facet keys when FacetKey.query is not * specified: * textual_field = * "brands" * "categories" * "genders" * "ageGroups" * * "availability" * "colorFamilies" * "colors" * "sizes" * "materials" * "patterns" * "conditions" * * "attributes.key" * "pickupInStore" * "shipToStore" * "sameDayDelivery" * "nextDayDelivery" * * "customFulfillment1" * "customFulfillment2" * "customFulfillment3" * "customFulfillment4" * * "customFulfillment5" * "inventory(place_id,attributes.key)" * numerical_field = * "price" * * "discount" * "rating" * "ratingCount" * "attributes.key" * "inventory(place_id,price)" * * "inventory(place_id,original_price)" * "inventory(place_id,attributes.key)" * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String key; /** * The order in which SearchResponse.Facet.values are returned. Allowed values are: * "count * desc", which means order by SearchResponse.Facet.values.count descending. * "value desc", which * means order by SearchResponse.Facet.values.value descending. Only applies to textual facets. If * not set, textual values are sorted in [natural * order](https://en.wikipedia.org/wiki/Natural_sort_order); numerical intervals are sorted in the * order given by FacetSpec.FacetKey.intervals; FulfillmentInfo.place_ids are sorted in the order * given by FacetSpec.FacetKey.restricted_values. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String orderBy; /** * Only get facet values that start with the given string prefix. For example, suppose * "categories" has three values "Women > Shoe", "Women > Dress" and "Men > Shoe". If set * "prefixes" to "Women", the "categories" facet gives only "Women > Shoe" and "Women > Dress". * Only supported on textual fields. Maximum is 10. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.util.List prefixes; /** * The query that is used to compute facet for the given facet key. When provided, it overrides * the default behavior of facet computation. The query syntax is the same as a filter expression. * See SearchRequest.filter for detail syntax and limitations. Notice that there is no limitation * on FacetKey.key when query is specified. In the response, SearchResponse.Facet.values.value is * always "1" and SearchResponse.Facet.values.count is the number of results that match the query. * For example, you can set a customized facet for "shipToStore", where FacetKey.key is * "customizedShipToStore", and FacetKey.query is "availability: ANY(\"IN_STOCK\") AND * shipToStore: ANY(\"123\")". Then the facet counts the products that are both in stock and ship * to store "123". * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String query; /** * Only get facet for the given restricted values. For example, when using "pickupInStore" as key * and set restricted values to ["store123", "store456"], only facets for "store123" and * "store456" are returned. Only supported on predefined textual fields, custom textual attributes * and fulfillments. Maximum is 20. Must be set for the fulfillment facet keys: * pickupInStore * * shipToStore * sameDayDelivery * nextDayDelivery * customFulfillment1 * customFulfillment2 * * customFulfillment3 * customFulfillment4 * customFulfillment5 * The value may be {@code null}. */ @com.google.api.client.util.Key private java.util.List restrictedValues; /** * Returns the min and max value for each numerical facet intervals. Ignored for textual facets. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.Boolean returnMinMax; /** * True to make facet keys case insensitive when getting faceting values with prefixes or * contains; false otherwise. * @return value or {@code null} for none */ public java.lang.Boolean getCaseInsensitive() { return caseInsensitive; } /** * True to make facet keys case insensitive when getting faceting values with prefixes or * contains; false otherwise. * @param caseInsensitive caseInsensitive or {@code null} for none */ public GoogleCloudRetailV2SearchRequestFacetSpecFacetKey setCaseInsensitive(java.lang.Boolean caseInsensitive) { this.caseInsensitive = caseInsensitive; return this; } /** * Only get facet values that contains the given strings. For example, suppose "categories" has * three values "Women > Shoe", "Women > Dress" and "Men > Shoe". If set "contains" to "Shoe", the * "categories" facet gives only "Women > Shoe" and "Men > Shoe". Only supported on textual * fields. Maximum is 10. * @return value or {@code null} for none */ public java.util.List getContains() { return contains; } /** * Only get facet values that contains the given strings. For example, suppose "categories" has * three values "Women > Shoe", "Women > Dress" and "Men > Shoe". If set "contains" to "Shoe", the * "categories" facet gives only "Women > Shoe" and "Men > Shoe". Only supported on textual * fields. Maximum is 10. * @param contains contains or {@code null} for none */ public GoogleCloudRetailV2SearchRequestFacetSpecFacetKey setContains(java.util.List contains) { this.contains = contains; return this; } /** * Set only if values should be bucketized into intervals. Must be set for facets with numerical * values. Must not be set for facet with text values. Maximum number of intervals is 40. For all * numerical facet keys that appear in the list of products from the catalog, the percentiles 0, * 10, 30, 50, 70, 90, and 100 are computed from their distribution weekly. If the model assigns a * high score to a numerical facet key and its intervals are not specified in the search request, * these percentiles become the bounds for its intervals and are returned in the response. If the * facet key intervals are specified in the request, then the specified intervals are returned * instead. * @return value or {@code null} for none */ public java.util.List getIntervals() { return intervals; } /** * Set only if values should be bucketized into intervals. Must be set for facets with numerical * values. Must not be set for facet with text values. Maximum number of intervals is 40. For all * numerical facet keys that appear in the list of products from the catalog, the percentiles 0, * 10, 30, 50, 70, 90, and 100 are computed from their distribution weekly. If the model assigns a * high score to a numerical facet key and its intervals are not specified in the search request, * these percentiles become the bounds for its intervals and are returned in the response. If the * facet key intervals are specified in the request, then the specified intervals are returned * instead. * @param intervals intervals or {@code null} for none */ public GoogleCloudRetailV2SearchRequestFacetSpecFacetKey setIntervals(java.util.List intervals) { this.intervals = intervals; return this; } /** * Required. Supported textual and numerical facet keys in Product object, over which the facet * values are computed. Facet key is case-sensitive. Allowed facet keys when FacetKey.query is not * specified: * textual_field = * "brands" * "categories" * "genders" * "ageGroups" * * "availability" * "colorFamilies" * "colors" * "sizes" * "materials" * "patterns" * "conditions" * * "attributes.key" * "pickupInStore" * "shipToStore" * "sameDayDelivery" * "nextDayDelivery" * * "customFulfillment1" * "customFulfillment2" * "customFulfillment3" * "customFulfillment4" * * "customFulfillment5" * "inventory(place_id,attributes.key)" * numerical_field = * "price" * * "discount" * "rating" * "ratingCount" * "attributes.key" * "inventory(place_id,price)" * * "inventory(place_id,original_price)" * "inventory(place_id,attributes.key)" * @return value or {@code null} for none */ public java.lang.String getKey() { return key; } /** * Required. Supported textual and numerical facet keys in Product object, over which the facet * values are computed. Facet key is case-sensitive. Allowed facet keys when FacetKey.query is not * specified: * textual_field = * "brands" * "categories" * "genders" * "ageGroups" * * "availability" * "colorFamilies" * "colors" * "sizes" * "materials" * "patterns" * "conditions" * * "attributes.key" * "pickupInStore" * "shipToStore" * "sameDayDelivery" * "nextDayDelivery" * * "customFulfillment1" * "customFulfillment2" * "customFulfillment3" * "customFulfillment4" * * "customFulfillment5" * "inventory(place_id,attributes.key)" * numerical_field = * "price" * * "discount" * "rating" * "ratingCount" * "attributes.key" * "inventory(place_id,price)" * * "inventory(place_id,original_price)" * "inventory(place_id,attributes.key)" * @param key key or {@code null} for none */ public GoogleCloudRetailV2SearchRequestFacetSpecFacetKey setKey(java.lang.String key) { this.key = key; return this; } /** * The order in which SearchResponse.Facet.values are returned. Allowed values are: * "count * desc", which means order by SearchResponse.Facet.values.count descending. * "value desc", which * means order by SearchResponse.Facet.values.value descending. Only applies to textual facets. If * not set, textual values are sorted in [natural * order](https://en.wikipedia.org/wiki/Natural_sort_order); numerical intervals are sorted in the * order given by FacetSpec.FacetKey.intervals; FulfillmentInfo.place_ids are sorted in the order * given by FacetSpec.FacetKey.restricted_values. * @return value or {@code null} for none */ public java.lang.String getOrderBy() { return orderBy; } /** * The order in which SearchResponse.Facet.values are returned. Allowed values are: * "count * desc", which means order by SearchResponse.Facet.values.count descending. * "value desc", which * means order by SearchResponse.Facet.values.value descending. Only applies to textual facets. If * not set, textual values are sorted in [natural * order](https://en.wikipedia.org/wiki/Natural_sort_order); numerical intervals are sorted in the * order given by FacetSpec.FacetKey.intervals; FulfillmentInfo.place_ids are sorted in the order * given by FacetSpec.FacetKey.restricted_values. * @param orderBy orderBy or {@code null} for none */ public GoogleCloudRetailV2SearchRequestFacetSpecFacetKey setOrderBy(java.lang.String orderBy) { this.orderBy = orderBy; return this; } /** * Only get facet values that start with the given string prefix. For example, suppose * "categories" has three values "Women > Shoe", "Women > Dress" and "Men > Shoe". If set * "prefixes" to "Women", the "categories" facet gives only "Women > Shoe" and "Women > Dress". * Only supported on textual fields. Maximum is 10. * @return value or {@code null} for none */ public java.util.List getPrefixes() { return prefixes; } /** * Only get facet values that start with the given string prefix. For example, suppose * "categories" has three values "Women > Shoe", "Women > Dress" and "Men > Shoe". If set * "prefixes" to "Women", the "categories" facet gives only "Women > Shoe" and "Women > Dress". * Only supported on textual fields. Maximum is 10. * @param prefixes prefixes or {@code null} for none */ public GoogleCloudRetailV2SearchRequestFacetSpecFacetKey setPrefixes(java.util.List prefixes) { this.prefixes = prefixes; return this; } /** * The query that is used to compute facet for the given facet key. When provided, it overrides * the default behavior of facet computation. The query syntax is the same as a filter expression. * See SearchRequest.filter for detail syntax and limitations. Notice that there is no limitation * on FacetKey.key when query is specified. In the response, SearchResponse.Facet.values.value is * always "1" and SearchResponse.Facet.values.count is the number of results that match the query. * For example, you can set a customized facet for "shipToStore", where FacetKey.key is * "customizedShipToStore", and FacetKey.query is "availability: ANY(\"IN_STOCK\") AND * shipToStore: ANY(\"123\")". Then the facet counts the products that are both in stock and ship * to store "123". * @return value or {@code null} for none */ public java.lang.String getQuery() { return query; } /** * The query that is used to compute facet for the given facet key. When provided, it overrides * the default behavior of facet computation. The query syntax is the same as a filter expression. * See SearchRequest.filter for detail syntax and limitations. Notice that there is no limitation * on FacetKey.key when query is specified. In the response, SearchResponse.Facet.values.value is * always "1" and SearchResponse.Facet.values.count is the number of results that match the query. * For example, you can set a customized facet for "shipToStore", where FacetKey.key is * "customizedShipToStore", and FacetKey.query is "availability: ANY(\"IN_STOCK\") AND * shipToStore: ANY(\"123\")". Then the facet counts the products that are both in stock and ship * to store "123". * @param query query or {@code null} for none */ public GoogleCloudRetailV2SearchRequestFacetSpecFacetKey setQuery(java.lang.String query) { this.query = query; return this; } /** * Only get facet for the given restricted values. For example, when using "pickupInStore" as key * and set restricted values to ["store123", "store456"], only facets for "store123" and * "store456" are returned. Only supported on predefined textual fields, custom textual attributes * and fulfillments. Maximum is 20. Must be set for the fulfillment facet keys: * pickupInStore * * shipToStore * sameDayDelivery * nextDayDelivery * customFulfillment1 * customFulfillment2 * * customFulfillment3 * customFulfillment4 * customFulfillment5 * @return value or {@code null} for none */ public java.util.List getRestrictedValues() { return restrictedValues; } /** * Only get facet for the given restricted values. For example, when using "pickupInStore" as key * and set restricted values to ["store123", "store456"], only facets for "store123" and * "store456" are returned. Only supported on predefined textual fields, custom textual attributes * and fulfillments. Maximum is 20. Must be set for the fulfillment facet keys: * pickupInStore * * shipToStore * sameDayDelivery * nextDayDelivery * customFulfillment1 * customFulfillment2 * * customFulfillment3 * customFulfillment4 * customFulfillment5 * @param restrictedValues restrictedValues or {@code null} for none */ public GoogleCloudRetailV2SearchRequestFacetSpecFacetKey setRestrictedValues(java.util.List restrictedValues) { this.restrictedValues = restrictedValues; return this; } /** * Returns the min and max value for each numerical facet intervals. Ignored for textual facets. * @return value or {@code null} for none */ public java.lang.Boolean getReturnMinMax() { return returnMinMax; } /** * Returns the min and max value for each numerical facet intervals. Ignored for textual facets. * @param returnMinMax returnMinMax or {@code null} for none */ public GoogleCloudRetailV2SearchRequestFacetSpecFacetKey setReturnMinMax(java.lang.Boolean returnMinMax) { this.returnMinMax = returnMinMax; return this; } @Override public GoogleCloudRetailV2SearchRequestFacetSpecFacetKey set(String fieldName, Object value) { return (GoogleCloudRetailV2SearchRequestFacetSpecFacetKey) super.set(fieldName, value); } @Override public GoogleCloudRetailV2SearchRequestFacetSpecFacetKey clone() { return (GoogleCloudRetailV2SearchRequestFacetSpecFacetKey) super.clone(); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy