Class SearchRequest.FacetSpec.FacetKey.Builder

    • Method Detail

      • getDescriptor

        public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
      • internalGetFieldAccessorTable

        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
        Specified by:
        internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessageV3.Builder<SearchRequest.FacetSpec.FacetKey.Builder>
      • getDescriptorForType

        public com.google.protobuf.Descriptors.Descriptor getDescriptorForType()
        Specified by:
        getDescriptorForType in interface com.google.protobuf.Message.Builder
        Specified by:
        getDescriptorForType in interface com.google.protobuf.MessageOrBuilder
        Overrides:
        getDescriptorForType in class com.google.protobuf.GeneratedMessageV3.Builder<SearchRequest.FacetSpec.FacetKey.Builder>
      • getDefaultInstanceForType

        public SearchRequest.FacetSpec.FacetKey getDefaultInstanceForType()
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder
      • build

        public SearchRequest.FacetSpec.FacetKey build()
        Specified by:
        build in interface com.google.protobuf.Message.Builder
        Specified by:
        build in interface com.google.protobuf.MessageLite.Builder
      • buildPartial

        public SearchRequest.FacetSpec.FacetKey buildPartial()
        Specified by:
        buildPartial in interface com.google.protobuf.Message.Builder
        Specified by:
        buildPartial in interface com.google.protobuf.MessageLite.Builder
      • isInitialized

        public final boolean isInitialized()
        Specified by:
        isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
        Overrides:
        isInitialized in class com.google.protobuf.GeneratedMessageV3.Builder<SearchRequest.FacetSpec.FacetKey.Builder>
      • getKey

        public String getKey()
         Required. Supported textual and numerical facet keys in
         [Product][google.cloud.retail.v2.Product] object, over which the facet
         values are computed. Facet key is case-sensitive.
        
         Allowed facet keys when
         [FacetKey.query][google.cloud.retail.v2.SearchRequest.FacetSpec.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)"
         
        string key = 1 [(.google.api.field_behavior) = REQUIRED];
        Specified by:
        getKey in interface SearchRequest.FacetSpec.FacetKeyOrBuilder
        Returns:
        The key.
      • getKeyBytes

        public com.google.protobuf.ByteString getKeyBytes()
         Required. Supported textual and numerical facet keys in
         [Product][google.cloud.retail.v2.Product] object, over which the facet
         values are computed. Facet key is case-sensitive.
        
         Allowed facet keys when
         [FacetKey.query][google.cloud.retail.v2.SearchRequest.FacetSpec.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)"
         
        string key = 1 [(.google.api.field_behavior) = REQUIRED];
        Specified by:
        getKeyBytes in interface SearchRequest.FacetSpec.FacetKeyOrBuilder
        Returns:
        The bytes for key.
      • setKey

        public SearchRequest.FacetSpec.FacetKey.Builder setKey​(String value)
         Required. Supported textual and numerical facet keys in
         [Product][google.cloud.retail.v2.Product] object, over which the facet
         values are computed. Facet key is case-sensitive.
        
         Allowed facet keys when
         [FacetKey.query][google.cloud.retail.v2.SearchRequest.FacetSpec.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)"
         
        string key = 1 [(.google.api.field_behavior) = REQUIRED];
        Parameters:
        value - The key to set.
        Returns:
        This builder for chaining.
      • clearKey

        public SearchRequest.FacetSpec.FacetKey.Builder clearKey()
         Required. Supported textual and numerical facet keys in
         [Product][google.cloud.retail.v2.Product] object, over which the facet
         values are computed. Facet key is case-sensitive.
        
         Allowed facet keys when
         [FacetKey.query][google.cloud.retail.v2.SearchRequest.FacetSpec.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)"
         
        string key = 1 [(.google.api.field_behavior) = REQUIRED];
        Returns:
        This builder for chaining.
      • setKeyBytes

        public SearchRequest.FacetSpec.FacetKey.Builder setKeyBytes​(com.google.protobuf.ByteString value)
         Required. Supported textual and numerical facet keys in
         [Product][google.cloud.retail.v2.Product] object, over which the facet
         values are computed. Facet key is case-sensitive.
        
         Allowed facet keys when
         [FacetKey.query][google.cloud.retail.v2.SearchRequest.FacetSpec.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)"
         
        string key = 1 [(.google.api.field_behavior) = REQUIRED];
        Parameters:
        value - The bytes for key to set.
        Returns:
        This builder for chaining.
      • getIntervalsList

        public List<Interval> getIntervalsList()
         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 will become the bounds
         for its intervals and will be returned in the response. If the
         facet key intervals are specified in the request, then the specified
         intervals will be returned instead.
         
        repeated .google.cloud.retail.v2.Interval intervals = 2;
        Specified by:
        getIntervalsList in interface SearchRequest.FacetSpec.FacetKeyOrBuilder
      • getIntervalsCount

        public int getIntervalsCount()
         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 will become the bounds
         for its intervals and will be returned in the response. If the
         facet key intervals are specified in the request, then the specified
         intervals will be returned instead.
         
        repeated .google.cloud.retail.v2.Interval intervals = 2;
        Specified by:
        getIntervalsCount in interface SearchRequest.FacetSpec.FacetKeyOrBuilder
      • getIntervals

        public Interval getIntervals​(int index)
         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 will become the bounds
         for its intervals and will be returned in the response. If the
         facet key intervals are specified in the request, then the specified
         intervals will be returned instead.
         
        repeated .google.cloud.retail.v2.Interval intervals = 2;
        Specified by:
        getIntervals in interface SearchRequest.FacetSpec.FacetKeyOrBuilder
      • setIntervals

        public SearchRequest.FacetSpec.FacetKey.Builder setIntervals​(int index,
                                                                     Interval value)
         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 will become the bounds
         for its intervals and will be returned in the response. If the
         facet key intervals are specified in the request, then the specified
         intervals will be returned instead.
         
        repeated .google.cloud.retail.v2.Interval intervals = 2;
      • setIntervals

        public SearchRequest.FacetSpec.FacetKey.Builder setIntervals​(int index,
                                                                     Interval.Builder builderForValue)
         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 will become the bounds
         for its intervals and will be returned in the response. If the
         facet key intervals are specified in the request, then the specified
         intervals will be returned instead.
         
        repeated .google.cloud.retail.v2.Interval intervals = 2;
      • addIntervals

        public SearchRequest.FacetSpec.FacetKey.Builder addIntervals​(Interval value)
         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 will become the bounds
         for its intervals and will be returned in the response. If the
         facet key intervals are specified in the request, then the specified
         intervals will be returned instead.
         
        repeated .google.cloud.retail.v2.Interval intervals = 2;
      • addIntervals

        public SearchRequest.FacetSpec.FacetKey.Builder addIntervals​(int index,
                                                                     Interval value)
         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 will become the bounds
         for its intervals and will be returned in the response. If the
         facet key intervals are specified in the request, then the specified
         intervals will be returned instead.
         
        repeated .google.cloud.retail.v2.Interval intervals = 2;
      • addIntervals

        public SearchRequest.FacetSpec.FacetKey.Builder addIntervals​(Interval.Builder builderForValue)
         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 will become the bounds
         for its intervals and will be returned in the response. If the
         facet key intervals are specified in the request, then the specified
         intervals will be returned instead.
         
        repeated .google.cloud.retail.v2.Interval intervals = 2;
      • addIntervals

        public SearchRequest.FacetSpec.FacetKey.Builder addIntervals​(int index,
                                                                     Interval.Builder builderForValue)
         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 will become the bounds
         for its intervals and will be returned in the response. If the
         facet key intervals are specified in the request, then the specified
         intervals will be returned instead.
         
        repeated .google.cloud.retail.v2.Interval intervals = 2;
      • addAllIntervals

        public SearchRequest.FacetSpec.FacetKey.Builder addAllIntervals​(Iterable<? extends Interval> values)
         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 will become the bounds
         for its intervals and will be returned in the response. If the
         facet key intervals are specified in the request, then the specified
         intervals will be returned instead.
         
        repeated .google.cloud.retail.v2.Interval intervals = 2;
      • clearIntervals

        public SearchRequest.FacetSpec.FacetKey.Builder clearIntervals()
         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 will become the bounds
         for its intervals and will be returned in the response. If the
         facet key intervals are specified in the request, then the specified
         intervals will be returned instead.
         
        repeated .google.cloud.retail.v2.Interval intervals = 2;
      • removeIntervals

        public SearchRequest.FacetSpec.FacetKey.Builder removeIntervals​(int index)
         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 will become the bounds
         for its intervals and will be returned in the response. If the
         facet key intervals are specified in the request, then the specified
         intervals will be returned instead.
         
        repeated .google.cloud.retail.v2.Interval intervals = 2;
      • getIntervalsBuilder

        public Interval.Builder getIntervalsBuilder​(int index)
         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 will become the bounds
         for its intervals and will be returned in the response. If the
         facet key intervals are specified in the request, then the specified
         intervals will be returned instead.
         
        repeated .google.cloud.retail.v2.Interval intervals = 2;
      • getIntervalsOrBuilder

        public IntervalOrBuilder getIntervalsOrBuilder​(int index)
         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 will become the bounds
         for its intervals and will be returned in the response. If the
         facet key intervals are specified in the request, then the specified
         intervals will be returned instead.
         
        repeated .google.cloud.retail.v2.Interval intervals = 2;
        Specified by:
        getIntervalsOrBuilder in interface SearchRequest.FacetSpec.FacetKeyOrBuilder
      • getIntervalsOrBuilderList

        public List<? extends IntervalOrBuilder> getIntervalsOrBuilderList()
         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 will become the bounds
         for its intervals and will be returned in the response. If the
         facet key intervals are specified in the request, then the specified
         intervals will be returned instead.
         
        repeated .google.cloud.retail.v2.Interval intervals = 2;
        Specified by:
        getIntervalsOrBuilderList in interface SearchRequest.FacetSpec.FacetKeyOrBuilder
      • addIntervalsBuilder

        public Interval.Builder addIntervalsBuilder()
         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 will become the bounds
         for its intervals and will be returned in the response. If the
         facet key intervals are specified in the request, then the specified
         intervals will be returned instead.
         
        repeated .google.cloud.retail.v2.Interval intervals = 2;
      • addIntervalsBuilder

        public Interval.Builder addIntervalsBuilder​(int index)
         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 will become the bounds
         for its intervals and will be returned in the response. If the
         facet key intervals are specified in the request, then the specified
         intervals will be returned instead.
         
        repeated .google.cloud.retail.v2.Interval intervals = 2;
      • getIntervalsBuilderList

        public List<Interval.Builder> getIntervalsBuilderList()
         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 will become the bounds
         for its intervals and will be returned in the response. If the
         facet key intervals are specified in the request, then the specified
         intervals will be returned instead.
         
        repeated .google.cloud.retail.v2.Interval intervals = 2;
      • getRestrictedValuesList

        public com.google.protobuf.ProtocolStringList getRestrictedValuesList()
         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
         
        repeated string restricted_values = 3;
        Specified by:
        getRestrictedValuesList in interface SearchRequest.FacetSpec.FacetKeyOrBuilder
        Returns:
        A list containing the restrictedValues.
      • getRestrictedValuesCount

        public int getRestrictedValuesCount()
         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
         
        repeated string restricted_values = 3;
        Specified by:
        getRestrictedValuesCount in interface SearchRequest.FacetSpec.FacetKeyOrBuilder
        Returns:
        The count of restrictedValues.
      • getRestrictedValues

        public String getRestrictedValues​(int index)
         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
         
        repeated string restricted_values = 3;
        Specified by:
        getRestrictedValues in interface SearchRequest.FacetSpec.FacetKeyOrBuilder
        Parameters:
        index - The index of the element to return.
        Returns:
        The restrictedValues at the given index.
      • getRestrictedValuesBytes

        public com.google.protobuf.ByteString getRestrictedValuesBytes​(int index)
         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
         
        repeated string restricted_values = 3;
        Specified by:
        getRestrictedValuesBytes in interface SearchRequest.FacetSpec.FacetKeyOrBuilder
        Parameters:
        index - The index of the value to return.
        Returns:
        The bytes of the restrictedValues at the given index.
      • setRestrictedValues

        public SearchRequest.FacetSpec.FacetKey.Builder setRestrictedValues​(int index,
                                                                            String value)
         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
         
        repeated string restricted_values = 3;
        Parameters:
        index - The index to set the value at.
        value - The restrictedValues to set.
        Returns:
        This builder for chaining.
      • addRestrictedValues

        public SearchRequest.FacetSpec.FacetKey.Builder addRestrictedValues​(String value)
         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
         
        repeated string restricted_values = 3;
        Parameters:
        value - The restrictedValues to add.
        Returns:
        This builder for chaining.
      • addAllRestrictedValues

        public SearchRequest.FacetSpec.FacetKey.Builder addAllRestrictedValues​(Iterable<String> values)
         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
         
        repeated string restricted_values = 3;
        Parameters:
        values - The restrictedValues to add.
        Returns:
        This builder for chaining.
      • clearRestrictedValues

        public SearchRequest.FacetSpec.FacetKey.Builder clearRestrictedValues()
         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
         
        repeated string restricted_values = 3;
        Returns:
        This builder for chaining.
      • addRestrictedValuesBytes

        public SearchRequest.FacetSpec.FacetKey.Builder addRestrictedValuesBytes​(com.google.protobuf.ByteString value)
         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
         
        repeated string restricted_values = 3;
        Parameters:
        value - The bytes of the restrictedValues to add.
        Returns:
        This builder for chaining.
      • getPrefixesList

        public com.google.protobuf.ProtocolStringList getPrefixesList()
         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 will give only "Women > Shoe" and "Women > Dress".
         Only supported on textual fields. Maximum is 10.
         
        repeated string prefixes = 8;
        Specified by:
        getPrefixesList in interface SearchRequest.FacetSpec.FacetKeyOrBuilder
        Returns:
        A list containing the prefixes.
      • getPrefixesCount

        public int getPrefixesCount()
         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 will give only "Women > Shoe" and "Women > Dress".
         Only supported on textual fields. Maximum is 10.
         
        repeated string prefixes = 8;
        Specified by:
        getPrefixesCount in interface SearchRequest.FacetSpec.FacetKeyOrBuilder
        Returns:
        The count of prefixes.
      • getPrefixes

        public String getPrefixes​(int index)
         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 will give only "Women > Shoe" and "Women > Dress".
         Only supported on textual fields. Maximum is 10.
         
        repeated string prefixes = 8;
        Specified by:
        getPrefixes in interface SearchRequest.FacetSpec.FacetKeyOrBuilder
        Parameters:
        index - The index of the element to return.
        Returns:
        The prefixes at the given index.
      • getPrefixesBytes

        public com.google.protobuf.ByteString getPrefixesBytes​(int index)
         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 will give only "Women > Shoe" and "Women > Dress".
         Only supported on textual fields. Maximum is 10.
         
        repeated string prefixes = 8;
        Specified by:
        getPrefixesBytes in interface SearchRequest.FacetSpec.FacetKeyOrBuilder
        Parameters:
        index - The index of the value to return.
        Returns:
        The bytes of the prefixes at the given index.
      • setPrefixes

        public SearchRequest.FacetSpec.FacetKey.Builder setPrefixes​(int index,
                                                                    String value)
         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 will give only "Women > Shoe" and "Women > Dress".
         Only supported on textual fields. Maximum is 10.
         
        repeated string prefixes = 8;
        Parameters:
        index - The index to set the value at.
        value - The prefixes to set.
        Returns:
        This builder for chaining.
      • addPrefixes

        public SearchRequest.FacetSpec.FacetKey.Builder addPrefixes​(String value)
         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 will give only "Women > Shoe" and "Women > Dress".
         Only supported on textual fields. Maximum is 10.
         
        repeated string prefixes = 8;
        Parameters:
        value - The prefixes to add.
        Returns:
        This builder for chaining.
      • addAllPrefixes

        public SearchRequest.FacetSpec.FacetKey.Builder addAllPrefixes​(Iterable<String> values)
         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 will give only "Women > Shoe" and "Women > Dress".
         Only supported on textual fields. Maximum is 10.
         
        repeated string prefixes = 8;
        Parameters:
        values - The prefixes to add.
        Returns:
        This builder for chaining.
      • clearPrefixes

        public SearchRequest.FacetSpec.FacetKey.Builder clearPrefixes()
         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 will give only "Women > Shoe" and "Women > Dress".
         Only supported on textual fields. Maximum is 10.
         
        repeated string prefixes = 8;
        Returns:
        This builder for chaining.
      • addPrefixesBytes

        public SearchRequest.FacetSpec.FacetKey.Builder addPrefixesBytes​(com.google.protobuf.ByteString value)
         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 will give only "Women > Shoe" and "Women > Dress".
         Only supported on textual fields. Maximum is 10.
         
        repeated string prefixes = 8;
        Parameters:
        value - The bytes of the prefixes to add.
        Returns:
        This builder for chaining.
      • getContainsList

        public com.google.protobuf.ProtocolStringList getContainsList()
         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 will give only "Women > Shoe" and "Men > Shoe".
         Only supported on textual fields. Maximum is 10.
         
        repeated string contains = 9;
        Specified by:
        getContainsList in interface SearchRequest.FacetSpec.FacetKeyOrBuilder
        Returns:
        A list containing the contains.
      • getContainsCount

        public int getContainsCount()
         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 will give only "Women > Shoe" and "Men > Shoe".
         Only supported on textual fields. Maximum is 10.
         
        repeated string contains = 9;
        Specified by:
        getContainsCount in interface SearchRequest.FacetSpec.FacetKeyOrBuilder
        Returns:
        The count of contains.
      • getContains

        public String getContains​(int index)
         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 will give only "Women > Shoe" and "Men > Shoe".
         Only supported on textual fields. Maximum is 10.
         
        repeated string contains = 9;
        Specified by:
        getContains in interface SearchRequest.FacetSpec.FacetKeyOrBuilder
        Parameters:
        index - The index of the element to return.
        Returns:
        The contains at the given index.
      • getContainsBytes

        public com.google.protobuf.ByteString getContainsBytes​(int index)
         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 will give only "Women > Shoe" and "Men > Shoe".
         Only supported on textual fields. Maximum is 10.
         
        repeated string contains = 9;
        Specified by:
        getContainsBytes in interface SearchRequest.FacetSpec.FacetKeyOrBuilder
        Parameters:
        index - The index of the value to return.
        Returns:
        The bytes of the contains at the given index.
      • setContains

        public SearchRequest.FacetSpec.FacetKey.Builder setContains​(int index,
                                                                    String value)
         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 will give only "Women > Shoe" and "Men > Shoe".
         Only supported on textual fields. Maximum is 10.
         
        repeated string contains = 9;
        Parameters:
        index - The index to set the value at.
        value - The contains to set.
        Returns:
        This builder for chaining.
      • addContains

        public SearchRequest.FacetSpec.FacetKey.Builder addContains​(String value)
         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 will give only "Women > Shoe" and "Men > Shoe".
         Only supported on textual fields. Maximum is 10.
         
        repeated string contains = 9;
        Parameters:
        value - The contains to add.
        Returns:
        This builder for chaining.
      • addAllContains

        public SearchRequest.FacetSpec.FacetKey.Builder addAllContains​(Iterable<String> values)
         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 will give only "Women > Shoe" and "Men > Shoe".
         Only supported on textual fields. Maximum is 10.
         
        repeated string contains = 9;
        Parameters:
        values - The contains to add.
        Returns:
        This builder for chaining.
      • clearContains

        public SearchRequest.FacetSpec.FacetKey.Builder clearContains()
         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 will give only "Women > Shoe" and "Men > Shoe".
         Only supported on textual fields. Maximum is 10.
         
        repeated string contains = 9;
        Returns:
        This builder for chaining.
      • addContainsBytes

        public SearchRequest.FacetSpec.FacetKey.Builder addContainsBytes​(com.google.protobuf.ByteString value)
         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 will give only "Women > Shoe" and "Men > Shoe".
         Only supported on textual fields. Maximum is 10.
         
        repeated string contains = 9;
        Parameters:
        value - The bytes of the contains to add.
        Returns:
        This builder for chaining.
      • getCaseInsensitive

        public boolean getCaseInsensitive()
         True to make facet keys case insensitive when getting faceting
         values with prefixes or contains; false otherwise.
         
        bool case_insensitive = 10;
        Specified by:
        getCaseInsensitive in interface SearchRequest.FacetSpec.FacetKeyOrBuilder
        Returns:
        The caseInsensitive.
      • setCaseInsensitive

        public SearchRequest.FacetSpec.FacetKey.Builder setCaseInsensitive​(boolean value)
         True to make facet keys case insensitive when getting faceting
         values with prefixes or contains; false otherwise.
         
        bool case_insensitive = 10;
        Parameters:
        value - The caseInsensitive to set.
        Returns:
        This builder for chaining.
      • clearCaseInsensitive

        public SearchRequest.FacetSpec.FacetKey.Builder clearCaseInsensitive()
         True to make facet keys case insensitive when getting faceting
         values with prefixes or contains; false otherwise.
         
        bool case_insensitive = 10;
        Returns:
        This builder for chaining.
      • getOrderBy

        public String getOrderBy()
         The order in which
         [SearchResponse.Facet.values][google.cloud.retail.v2.SearchResponse.Facet.values]
         are returned.
        
         Allowed values are:
        
         * "count desc", which means order by
         [SearchResponse.Facet.values.count][google.cloud.retail.v2.SearchResponse.Facet.FacetValue.count]
         descending.
        
         * "value desc", which means order by
         [SearchResponse.Facet.values.value][google.cloud.retail.v2.SearchResponse.Facet.FacetValue.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][google.cloud.retail.v2.SearchRequest.FacetSpec.FacetKey.intervals];
         [FulfillmentInfo.place_ids][google.cloud.retail.v2.FulfillmentInfo.place_ids]
         are sorted in the order given by
         [FacetSpec.FacetKey.restricted_values][google.cloud.retail.v2.SearchRequest.FacetSpec.FacetKey.restricted_values].
         
        string order_by = 4;
        Specified by:
        getOrderBy in interface SearchRequest.FacetSpec.FacetKeyOrBuilder
        Returns:
        The orderBy.
      • getOrderByBytes

        public com.google.protobuf.ByteString getOrderByBytes()
         The order in which
         [SearchResponse.Facet.values][google.cloud.retail.v2.SearchResponse.Facet.values]
         are returned.
        
         Allowed values are:
        
         * "count desc", which means order by
         [SearchResponse.Facet.values.count][google.cloud.retail.v2.SearchResponse.Facet.FacetValue.count]
         descending.
        
         * "value desc", which means order by
         [SearchResponse.Facet.values.value][google.cloud.retail.v2.SearchResponse.Facet.FacetValue.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][google.cloud.retail.v2.SearchRequest.FacetSpec.FacetKey.intervals];
         [FulfillmentInfo.place_ids][google.cloud.retail.v2.FulfillmentInfo.place_ids]
         are sorted in the order given by
         [FacetSpec.FacetKey.restricted_values][google.cloud.retail.v2.SearchRequest.FacetSpec.FacetKey.restricted_values].
         
        string order_by = 4;
        Specified by:
        getOrderByBytes in interface SearchRequest.FacetSpec.FacetKeyOrBuilder
        Returns:
        The bytes for orderBy.
      • setOrderBy

        public SearchRequest.FacetSpec.FacetKey.Builder setOrderBy​(String value)
         The order in which
         [SearchResponse.Facet.values][google.cloud.retail.v2.SearchResponse.Facet.values]
         are returned.
        
         Allowed values are:
        
         * "count desc", which means order by
         [SearchResponse.Facet.values.count][google.cloud.retail.v2.SearchResponse.Facet.FacetValue.count]
         descending.
        
         * "value desc", which means order by
         [SearchResponse.Facet.values.value][google.cloud.retail.v2.SearchResponse.Facet.FacetValue.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][google.cloud.retail.v2.SearchRequest.FacetSpec.FacetKey.intervals];
         [FulfillmentInfo.place_ids][google.cloud.retail.v2.FulfillmentInfo.place_ids]
         are sorted in the order given by
         [FacetSpec.FacetKey.restricted_values][google.cloud.retail.v2.SearchRequest.FacetSpec.FacetKey.restricted_values].
         
        string order_by = 4;
        Parameters:
        value - The orderBy to set.
        Returns:
        This builder for chaining.
      • clearOrderBy

        public SearchRequest.FacetSpec.FacetKey.Builder clearOrderBy()
         The order in which
         [SearchResponse.Facet.values][google.cloud.retail.v2.SearchResponse.Facet.values]
         are returned.
        
         Allowed values are:
        
         * "count desc", which means order by
         [SearchResponse.Facet.values.count][google.cloud.retail.v2.SearchResponse.Facet.FacetValue.count]
         descending.
        
         * "value desc", which means order by
         [SearchResponse.Facet.values.value][google.cloud.retail.v2.SearchResponse.Facet.FacetValue.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][google.cloud.retail.v2.SearchRequest.FacetSpec.FacetKey.intervals];
         [FulfillmentInfo.place_ids][google.cloud.retail.v2.FulfillmentInfo.place_ids]
         are sorted in the order given by
         [FacetSpec.FacetKey.restricted_values][google.cloud.retail.v2.SearchRequest.FacetSpec.FacetKey.restricted_values].
         
        string order_by = 4;
        Returns:
        This builder for chaining.
      • setOrderByBytes

        public SearchRequest.FacetSpec.FacetKey.Builder setOrderByBytes​(com.google.protobuf.ByteString value)
         The order in which
         [SearchResponse.Facet.values][google.cloud.retail.v2.SearchResponse.Facet.values]
         are returned.
        
         Allowed values are:
        
         * "count desc", which means order by
         [SearchResponse.Facet.values.count][google.cloud.retail.v2.SearchResponse.Facet.FacetValue.count]
         descending.
        
         * "value desc", which means order by
         [SearchResponse.Facet.values.value][google.cloud.retail.v2.SearchResponse.Facet.FacetValue.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][google.cloud.retail.v2.SearchRequest.FacetSpec.FacetKey.intervals];
         [FulfillmentInfo.place_ids][google.cloud.retail.v2.FulfillmentInfo.place_ids]
         are sorted in the order given by
         [FacetSpec.FacetKey.restricted_values][google.cloud.retail.v2.SearchRequest.FacetSpec.FacetKey.restricted_values].
         
        string order_by = 4;
        Parameters:
        value - The bytes for orderBy to set.
        Returns:
        This builder for chaining.
      • getQuery

        public String getQuery()
         The query that is used to compute facet for the given facet key.
         When provided, it will override the default behavior of facet
         computation. The query syntax is the same as a filter expression. See
         [SearchRequest.filter][google.cloud.retail.v2.SearchRequest.filter] for
         detail syntax and limitations. Notice that there is no limitation on
         [FacetKey.key][google.cloud.retail.v2.SearchRequest.FacetSpec.FacetKey.key]
         when query is specified.
        
         In the response,
         [SearchResponse.Facet.values.value][google.cloud.retail.v2.SearchResponse.Facet.FacetValue.value]
         will be always "1" and
         [SearchResponse.Facet.values.count][google.cloud.retail.v2.SearchResponse.Facet.FacetValue.count]
         will be the number of results that match the query.
        
         For example, you can set a customized facet for "shipToStore",
         where
         [FacetKey.key][google.cloud.retail.v2.SearchRequest.FacetSpec.FacetKey.key]
         is "customizedShipToStore", and
         [FacetKey.query][google.cloud.retail.v2.SearchRequest.FacetSpec.FacetKey.query]
         is "availability: ANY(\"IN_STOCK\") AND shipToStore: ANY(\"123\")".
         Then the facet will count the products that are both in stock and ship
         to store "123".
         
        string query = 5;
        Specified by:
        getQuery in interface SearchRequest.FacetSpec.FacetKeyOrBuilder
        Returns:
        The query.
      • getQueryBytes

        public com.google.protobuf.ByteString getQueryBytes()
         The query that is used to compute facet for the given facet key.
         When provided, it will override the default behavior of facet
         computation. The query syntax is the same as a filter expression. See
         [SearchRequest.filter][google.cloud.retail.v2.SearchRequest.filter] for
         detail syntax and limitations. Notice that there is no limitation on
         [FacetKey.key][google.cloud.retail.v2.SearchRequest.FacetSpec.FacetKey.key]
         when query is specified.
        
         In the response,
         [SearchResponse.Facet.values.value][google.cloud.retail.v2.SearchResponse.Facet.FacetValue.value]
         will be always "1" and
         [SearchResponse.Facet.values.count][google.cloud.retail.v2.SearchResponse.Facet.FacetValue.count]
         will be the number of results that match the query.
        
         For example, you can set a customized facet for "shipToStore",
         where
         [FacetKey.key][google.cloud.retail.v2.SearchRequest.FacetSpec.FacetKey.key]
         is "customizedShipToStore", and
         [FacetKey.query][google.cloud.retail.v2.SearchRequest.FacetSpec.FacetKey.query]
         is "availability: ANY(\"IN_STOCK\") AND shipToStore: ANY(\"123\")".
         Then the facet will count the products that are both in stock and ship
         to store "123".
         
        string query = 5;
        Specified by:
        getQueryBytes in interface SearchRequest.FacetSpec.FacetKeyOrBuilder
        Returns:
        The bytes for query.
      • setQuery

        public SearchRequest.FacetSpec.FacetKey.Builder setQuery​(String value)
         The query that is used to compute facet for the given facet key.
         When provided, it will override the default behavior of facet
         computation. The query syntax is the same as a filter expression. See
         [SearchRequest.filter][google.cloud.retail.v2.SearchRequest.filter] for
         detail syntax and limitations. Notice that there is no limitation on
         [FacetKey.key][google.cloud.retail.v2.SearchRequest.FacetSpec.FacetKey.key]
         when query is specified.
        
         In the response,
         [SearchResponse.Facet.values.value][google.cloud.retail.v2.SearchResponse.Facet.FacetValue.value]
         will be always "1" and
         [SearchResponse.Facet.values.count][google.cloud.retail.v2.SearchResponse.Facet.FacetValue.count]
         will be the number of results that match the query.
        
         For example, you can set a customized facet for "shipToStore",
         where
         [FacetKey.key][google.cloud.retail.v2.SearchRequest.FacetSpec.FacetKey.key]
         is "customizedShipToStore", and
         [FacetKey.query][google.cloud.retail.v2.SearchRequest.FacetSpec.FacetKey.query]
         is "availability: ANY(\"IN_STOCK\") AND shipToStore: ANY(\"123\")".
         Then the facet will count the products that are both in stock and ship
         to store "123".
         
        string query = 5;
        Parameters:
        value - The query to set.
        Returns:
        This builder for chaining.
      • clearQuery

        public SearchRequest.FacetSpec.FacetKey.Builder clearQuery()
         The query that is used to compute facet for the given facet key.
         When provided, it will override the default behavior of facet
         computation. The query syntax is the same as a filter expression. See
         [SearchRequest.filter][google.cloud.retail.v2.SearchRequest.filter] for
         detail syntax and limitations. Notice that there is no limitation on
         [FacetKey.key][google.cloud.retail.v2.SearchRequest.FacetSpec.FacetKey.key]
         when query is specified.
        
         In the response,
         [SearchResponse.Facet.values.value][google.cloud.retail.v2.SearchResponse.Facet.FacetValue.value]
         will be always "1" and
         [SearchResponse.Facet.values.count][google.cloud.retail.v2.SearchResponse.Facet.FacetValue.count]
         will be the number of results that match the query.
        
         For example, you can set a customized facet for "shipToStore",
         where
         [FacetKey.key][google.cloud.retail.v2.SearchRequest.FacetSpec.FacetKey.key]
         is "customizedShipToStore", and
         [FacetKey.query][google.cloud.retail.v2.SearchRequest.FacetSpec.FacetKey.query]
         is "availability: ANY(\"IN_STOCK\") AND shipToStore: ANY(\"123\")".
         Then the facet will count the products that are both in stock and ship
         to store "123".
         
        string query = 5;
        Returns:
        This builder for chaining.
      • setQueryBytes

        public SearchRequest.FacetSpec.FacetKey.Builder setQueryBytes​(com.google.protobuf.ByteString value)
         The query that is used to compute facet for the given facet key.
         When provided, it will override the default behavior of facet
         computation. The query syntax is the same as a filter expression. See
         [SearchRequest.filter][google.cloud.retail.v2.SearchRequest.filter] for
         detail syntax and limitations. Notice that there is no limitation on
         [FacetKey.key][google.cloud.retail.v2.SearchRequest.FacetSpec.FacetKey.key]
         when query is specified.
        
         In the response,
         [SearchResponse.Facet.values.value][google.cloud.retail.v2.SearchResponse.Facet.FacetValue.value]
         will be always "1" and
         [SearchResponse.Facet.values.count][google.cloud.retail.v2.SearchResponse.Facet.FacetValue.count]
         will be the number of results that match the query.
        
         For example, you can set a customized facet for "shipToStore",
         where
         [FacetKey.key][google.cloud.retail.v2.SearchRequest.FacetSpec.FacetKey.key]
         is "customizedShipToStore", and
         [FacetKey.query][google.cloud.retail.v2.SearchRequest.FacetSpec.FacetKey.query]
         is "availability: ANY(\"IN_STOCK\") AND shipToStore: ANY(\"123\")".
         Then the facet will count the products that are both in stock and ship
         to store "123".
         
        string query = 5;
        Parameters:
        value - The bytes for query to set.
        Returns:
        This builder for chaining.
      • getReturnMinMax

        public boolean getReturnMinMax()
         Returns the min and max value for each numerical facet intervals.
         Ignored for textual facets.
         
        bool return_min_max = 11;
        Specified by:
        getReturnMinMax in interface SearchRequest.FacetSpec.FacetKeyOrBuilder
        Returns:
        The returnMinMax.
      • setReturnMinMax

        public SearchRequest.FacetSpec.FacetKey.Builder setReturnMinMax​(boolean value)
         Returns the min and max value for each numerical facet intervals.
         Ignored for textual facets.
         
        bool return_min_max = 11;
        Parameters:
        value - The returnMinMax to set.
        Returns:
        This builder for chaining.
      • clearReturnMinMax

        public SearchRequest.FacetSpec.FacetKey.Builder clearReturnMinMax()
         Returns the min and max value for each numerical facet intervals.
         Ignored for textual facets.
         
        bool return_min_max = 11;
        Returns:
        This builder for chaining.