Class SearchRequest.FacetSpec.Builder

java.lang.Object
com.google.protobuf.AbstractMessageLite.Builder
com.google.protobuf.AbstractMessage.Builder<BuilderT>
com.google.protobuf.GeneratedMessage.Builder<SearchRequest.FacetSpec.Builder>
com.google.cloud.retail.v2alpha.SearchRequest.FacetSpec.Builder
All Implemented Interfaces:
SearchRequest.FacetSpecOrBuilder, com.google.protobuf.Message.Builder, com.google.protobuf.MessageLite.Builder, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, Cloneable
Enclosing class:
SearchRequest.FacetSpec

public static final class SearchRequest.FacetSpec.Builder extends com.google.protobuf.GeneratedMessage.Builder<SearchRequest.FacetSpec.Builder> implements SearchRequest.FacetSpecOrBuilder
 A facet specification to perform faceted search.
 
Protobuf type google.cloud.retail.v2alpha.SearchRequest.FacetSpec
  • Method Details

    • getDescriptor

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

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

      Specified by:
      clear in interface com.google.protobuf.Message.Builder
      Specified by:
      clear in interface com.google.protobuf.MessageLite.Builder
      Overrides:
      clear in class com.google.protobuf.GeneratedMessage.Builder<SearchRequest.FacetSpec.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.GeneratedMessage.Builder<SearchRequest.FacetSpec.Builder>
    • getDefaultInstanceForType

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

      public SearchRequest.FacetSpec 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 buildPartial()
      Specified by:
      buildPartial in interface com.google.protobuf.Message.Builder
      Specified by:
      buildPartial in interface com.google.protobuf.MessageLite.Builder
    • mergeFrom

      public SearchRequest.FacetSpec.Builder mergeFrom(com.google.protobuf.Message other)
      Specified by:
      mergeFrom in interface com.google.protobuf.Message.Builder
      Overrides:
      mergeFrom in class com.google.protobuf.AbstractMessage.Builder<SearchRequest.FacetSpec.Builder>
    • mergeFrom

    • isInitialized

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

      public SearchRequest.FacetSpec.Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Specified by:
      mergeFrom in interface com.google.protobuf.Message.Builder
      Specified by:
      mergeFrom in interface com.google.protobuf.MessageLite.Builder
      Overrides:
      mergeFrom in class com.google.protobuf.AbstractMessage.Builder<SearchRequest.FacetSpec.Builder>
      Throws:
      IOException
    • hasFacetKey

      public boolean hasFacetKey()
       Required. The facet key specification.
       
      .google.cloud.retail.v2alpha.SearchRequest.FacetSpec.FacetKey facet_key = 1 [(.google.api.field_behavior) = REQUIRED];
      Specified by:
      hasFacetKey in interface SearchRequest.FacetSpecOrBuilder
      Returns:
      Whether the facetKey field is set.
    • getFacetKey

      public SearchRequest.FacetSpec.FacetKey getFacetKey()
       Required. The facet key specification.
       
      .google.cloud.retail.v2alpha.SearchRequest.FacetSpec.FacetKey facet_key = 1 [(.google.api.field_behavior) = REQUIRED];
      Specified by:
      getFacetKey in interface SearchRequest.FacetSpecOrBuilder
      Returns:
      The facetKey.
    • setFacetKey

       Required. The facet key specification.
       
      .google.cloud.retail.v2alpha.SearchRequest.FacetSpec.FacetKey facet_key = 1 [(.google.api.field_behavior) = REQUIRED];
    • setFacetKey

       Required. The facet key specification.
       
      .google.cloud.retail.v2alpha.SearchRequest.FacetSpec.FacetKey facet_key = 1 [(.google.api.field_behavior) = REQUIRED];
    • mergeFacetKey

       Required. The facet key specification.
       
      .google.cloud.retail.v2alpha.SearchRequest.FacetSpec.FacetKey facet_key = 1 [(.google.api.field_behavior) = REQUIRED];
    • clearFacetKey

      public SearchRequest.FacetSpec.Builder clearFacetKey()
       Required. The facet key specification.
       
      .google.cloud.retail.v2alpha.SearchRequest.FacetSpec.FacetKey facet_key = 1 [(.google.api.field_behavior) = REQUIRED];
    • getFacetKeyBuilder

      public SearchRequest.FacetSpec.FacetKey.Builder getFacetKeyBuilder()
       Required. The facet key specification.
       
      .google.cloud.retail.v2alpha.SearchRequest.FacetSpec.FacetKey facet_key = 1 [(.google.api.field_behavior) = REQUIRED];
    • getFacetKeyOrBuilder

      public SearchRequest.FacetSpec.FacetKeyOrBuilder getFacetKeyOrBuilder()
       Required. The facet key specification.
       
      .google.cloud.retail.v2alpha.SearchRequest.FacetSpec.FacetKey facet_key = 1 [(.google.api.field_behavior) = REQUIRED];
      Specified by:
      getFacetKeyOrBuilder in interface SearchRequest.FacetSpecOrBuilder
    • getLimit

      public int getLimit()
       Maximum of facet values that should be returned for this facet. If
       unspecified, defaults to 50. The maximum allowed value is 300. Values
       above 300 will be coerced to 300.
      
       If this field is negative, an INVALID_ARGUMENT is returned.
       
      int32 limit = 2;
      Specified by:
      getLimit in interface SearchRequest.FacetSpecOrBuilder
      Returns:
      The limit.
    • setLimit

      public SearchRequest.FacetSpec.Builder setLimit(int value)
       Maximum of facet values that should be returned for this facet. If
       unspecified, defaults to 50. The maximum allowed value is 300. Values
       above 300 will be coerced to 300.
      
       If this field is negative, an INVALID_ARGUMENT is returned.
       
      int32 limit = 2;
      Parameters:
      value - The limit to set.
      Returns:
      This builder for chaining.
    • clearLimit

      public SearchRequest.FacetSpec.Builder clearLimit()
       Maximum of facet values that should be returned for this facet. If
       unspecified, defaults to 50. The maximum allowed value is 300. Values
       above 300 will be coerced to 300.
      
       If this field is negative, an INVALID_ARGUMENT is returned.
       
      int32 limit = 2;
      Returns:
      This builder for chaining.
    • getExcludedFilterKeysList

      public com.google.protobuf.ProtocolStringList getExcludedFilterKeysList()
       List of keys to exclude when faceting.
      
       By default,
       [FacetKey.key][google.cloud.retail.v2alpha.SearchRequest.FacetSpec.FacetKey.key]
       is not excluded from the filter unless it is listed in this field.
      
       Listing a facet key in this field allows its values to appear as facet
       results, even when they are filtered out of search results. Using this
       field does not affect what search results are returned.
      
       For example, suppose there are 100 products with the color facet "Red"
       and 200 products with the color facet "Blue". A query containing the
       filter "colorFamilies:ANY("Red")" and having "colorFamilies" as
       [FacetKey.key][google.cloud.retail.v2alpha.SearchRequest.FacetSpec.FacetKey.key]
       would by default return only "Red" products in the search results, and
       also return "Red" with count 100 as the only color facet. Although there
       are also blue products available, "Blue" would not be shown as an
       available facet value.
      
       If "colorFamilies" is listed in "excludedFilterKeys", then the query
       returns the facet values "Red" with count 100 and "Blue" with count
       200, because the "colorFamilies" key is now excluded from the filter.
       Because this field doesn't affect search results, the search results
       are still correctly filtered to return only "Red" products.
      
       A maximum of 100 values are allowed. Otherwise, an INVALID_ARGUMENT error
       is returned.
       
      repeated string excluded_filter_keys = 3;
      Specified by:
      getExcludedFilterKeysList in interface SearchRequest.FacetSpecOrBuilder
      Returns:
      A list containing the excludedFilterKeys.
    • getExcludedFilterKeysCount

      public int getExcludedFilterKeysCount()
       List of keys to exclude when faceting.
      
       By default,
       [FacetKey.key][google.cloud.retail.v2alpha.SearchRequest.FacetSpec.FacetKey.key]
       is not excluded from the filter unless it is listed in this field.
      
       Listing a facet key in this field allows its values to appear as facet
       results, even when they are filtered out of search results. Using this
       field does not affect what search results are returned.
      
       For example, suppose there are 100 products with the color facet "Red"
       and 200 products with the color facet "Blue". A query containing the
       filter "colorFamilies:ANY("Red")" and having "colorFamilies" as
       [FacetKey.key][google.cloud.retail.v2alpha.SearchRequest.FacetSpec.FacetKey.key]
       would by default return only "Red" products in the search results, and
       also return "Red" with count 100 as the only color facet. Although there
       are also blue products available, "Blue" would not be shown as an
       available facet value.
      
       If "colorFamilies" is listed in "excludedFilterKeys", then the query
       returns the facet values "Red" with count 100 and "Blue" with count
       200, because the "colorFamilies" key is now excluded from the filter.
       Because this field doesn't affect search results, the search results
       are still correctly filtered to return only "Red" products.
      
       A maximum of 100 values are allowed. Otherwise, an INVALID_ARGUMENT error
       is returned.
       
      repeated string excluded_filter_keys = 3;
      Specified by:
      getExcludedFilterKeysCount in interface SearchRequest.FacetSpecOrBuilder
      Returns:
      The count of excludedFilterKeys.
    • getExcludedFilterKeys

      public String getExcludedFilterKeys(int index)
       List of keys to exclude when faceting.
      
       By default,
       [FacetKey.key][google.cloud.retail.v2alpha.SearchRequest.FacetSpec.FacetKey.key]
       is not excluded from the filter unless it is listed in this field.
      
       Listing a facet key in this field allows its values to appear as facet
       results, even when they are filtered out of search results. Using this
       field does not affect what search results are returned.
      
       For example, suppose there are 100 products with the color facet "Red"
       and 200 products with the color facet "Blue". A query containing the
       filter "colorFamilies:ANY("Red")" and having "colorFamilies" as
       [FacetKey.key][google.cloud.retail.v2alpha.SearchRequest.FacetSpec.FacetKey.key]
       would by default return only "Red" products in the search results, and
       also return "Red" with count 100 as the only color facet. Although there
       are also blue products available, "Blue" would not be shown as an
       available facet value.
      
       If "colorFamilies" is listed in "excludedFilterKeys", then the query
       returns the facet values "Red" with count 100 and "Blue" with count
       200, because the "colorFamilies" key is now excluded from the filter.
       Because this field doesn't affect search results, the search results
       are still correctly filtered to return only "Red" products.
      
       A maximum of 100 values are allowed. Otherwise, an INVALID_ARGUMENT error
       is returned.
       
      repeated string excluded_filter_keys = 3;
      Specified by:
      getExcludedFilterKeys in interface SearchRequest.FacetSpecOrBuilder
      Parameters:
      index - The index of the element to return.
      Returns:
      The excludedFilterKeys at the given index.
    • getExcludedFilterKeysBytes

      public com.google.protobuf.ByteString getExcludedFilterKeysBytes(int index)
       List of keys to exclude when faceting.
      
       By default,
       [FacetKey.key][google.cloud.retail.v2alpha.SearchRequest.FacetSpec.FacetKey.key]
       is not excluded from the filter unless it is listed in this field.
      
       Listing a facet key in this field allows its values to appear as facet
       results, even when they are filtered out of search results. Using this
       field does not affect what search results are returned.
      
       For example, suppose there are 100 products with the color facet "Red"
       and 200 products with the color facet "Blue". A query containing the
       filter "colorFamilies:ANY("Red")" and having "colorFamilies" as
       [FacetKey.key][google.cloud.retail.v2alpha.SearchRequest.FacetSpec.FacetKey.key]
       would by default return only "Red" products in the search results, and
       also return "Red" with count 100 as the only color facet. Although there
       are also blue products available, "Blue" would not be shown as an
       available facet value.
      
       If "colorFamilies" is listed in "excludedFilterKeys", then the query
       returns the facet values "Red" with count 100 and "Blue" with count
       200, because the "colorFamilies" key is now excluded from the filter.
       Because this field doesn't affect search results, the search results
       are still correctly filtered to return only "Red" products.
      
       A maximum of 100 values are allowed. Otherwise, an INVALID_ARGUMENT error
       is returned.
       
      repeated string excluded_filter_keys = 3;
      Specified by:
      getExcludedFilterKeysBytes in interface SearchRequest.FacetSpecOrBuilder
      Parameters:
      index - The index of the value to return.
      Returns:
      The bytes of the excludedFilterKeys at the given index.
    • setExcludedFilterKeys

      public SearchRequest.FacetSpec.Builder setExcludedFilterKeys(int index, String value)
       List of keys to exclude when faceting.
      
       By default,
       [FacetKey.key][google.cloud.retail.v2alpha.SearchRequest.FacetSpec.FacetKey.key]
       is not excluded from the filter unless it is listed in this field.
      
       Listing a facet key in this field allows its values to appear as facet
       results, even when they are filtered out of search results. Using this
       field does not affect what search results are returned.
      
       For example, suppose there are 100 products with the color facet "Red"
       and 200 products with the color facet "Blue". A query containing the
       filter "colorFamilies:ANY("Red")" and having "colorFamilies" as
       [FacetKey.key][google.cloud.retail.v2alpha.SearchRequest.FacetSpec.FacetKey.key]
       would by default return only "Red" products in the search results, and
       also return "Red" with count 100 as the only color facet. Although there
       are also blue products available, "Blue" would not be shown as an
       available facet value.
      
       If "colorFamilies" is listed in "excludedFilterKeys", then the query
       returns the facet values "Red" with count 100 and "Blue" with count
       200, because the "colorFamilies" key is now excluded from the filter.
       Because this field doesn't affect search results, the search results
       are still correctly filtered to return only "Red" products.
      
       A maximum of 100 values are allowed. Otherwise, an INVALID_ARGUMENT error
       is returned.
       
      repeated string excluded_filter_keys = 3;
      Parameters:
      index - The index to set the value at.
      value - The excludedFilterKeys to set.
      Returns:
      This builder for chaining.
    • addExcludedFilterKeys

      public SearchRequest.FacetSpec.Builder addExcludedFilterKeys(String value)
       List of keys to exclude when faceting.
      
       By default,
       [FacetKey.key][google.cloud.retail.v2alpha.SearchRequest.FacetSpec.FacetKey.key]
       is not excluded from the filter unless it is listed in this field.
      
       Listing a facet key in this field allows its values to appear as facet
       results, even when they are filtered out of search results. Using this
       field does not affect what search results are returned.
      
       For example, suppose there are 100 products with the color facet "Red"
       and 200 products with the color facet "Blue". A query containing the
       filter "colorFamilies:ANY("Red")" and having "colorFamilies" as
       [FacetKey.key][google.cloud.retail.v2alpha.SearchRequest.FacetSpec.FacetKey.key]
       would by default return only "Red" products in the search results, and
       also return "Red" with count 100 as the only color facet. Although there
       are also blue products available, "Blue" would not be shown as an
       available facet value.
      
       If "colorFamilies" is listed in "excludedFilterKeys", then the query
       returns the facet values "Red" with count 100 and "Blue" with count
       200, because the "colorFamilies" key is now excluded from the filter.
       Because this field doesn't affect search results, the search results
       are still correctly filtered to return only "Red" products.
      
       A maximum of 100 values are allowed. Otherwise, an INVALID_ARGUMENT error
       is returned.
       
      repeated string excluded_filter_keys = 3;
      Parameters:
      value - The excludedFilterKeys to add.
      Returns:
      This builder for chaining.
    • addAllExcludedFilterKeys

      public SearchRequest.FacetSpec.Builder addAllExcludedFilterKeys(Iterable<String> values)
       List of keys to exclude when faceting.
      
       By default,
       [FacetKey.key][google.cloud.retail.v2alpha.SearchRequest.FacetSpec.FacetKey.key]
       is not excluded from the filter unless it is listed in this field.
      
       Listing a facet key in this field allows its values to appear as facet
       results, even when they are filtered out of search results. Using this
       field does not affect what search results are returned.
      
       For example, suppose there are 100 products with the color facet "Red"
       and 200 products with the color facet "Blue". A query containing the
       filter "colorFamilies:ANY("Red")" and having "colorFamilies" as
       [FacetKey.key][google.cloud.retail.v2alpha.SearchRequest.FacetSpec.FacetKey.key]
       would by default return only "Red" products in the search results, and
       also return "Red" with count 100 as the only color facet. Although there
       are also blue products available, "Blue" would not be shown as an
       available facet value.
      
       If "colorFamilies" is listed in "excludedFilterKeys", then the query
       returns the facet values "Red" with count 100 and "Blue" with count
       200, because the "colorFamilies" key is now excluded from the filter.
       Because this field doesn't affect search results, the search results
       are still correctly filtered to return only "Red" products.
      
       A maximum of 100 values are allowed. Otherwise, an INVALID_ARGUMENT error
       is returned.
       
      repeated string excluded_filter_keys = 3;
      Parameters:
      values - The excludedFilterKeys to add.
      Returns:
      This builder for chaining.
    • clearExcludedFilterKeys

      public SearchRequest.FacetSpec.Builder clearExcludedFilterKeys()
       List of keys to exclude when faceting.
      
       By default,
       [FacetKey.key][google.cloud.retail.v2alpha.SearchRequest.FacetSpec.FacetKey.key]
       is not excluded from the filter unless it is listed in this field.
      
       Listing a facet key in this field allows its values to appear as facet
       results, even when they are filtered out of search results. Using this
       field does not affect what search results are returned.
      
       For example, suppose there are 100 products with the color facet "Red"
       and 200 products with the color facet "Blue". A query containing the
       filter "colorFamilies:ANY("Red")" and having "colorFamilies" as
       [FacetKey.key][google.cloud.retail.v2alpha.SearchRequest.FacetSpec.FacetKey.key]
       would by default return only "Red" products in the search results, and
       also return "Red" with count 100 as the only color facet. Although there
       are also blue products available, "Blue" would not be shown as an
       available facet value.
      
       If "colorFamilies" is listed in "excludedFilterKeys", then the query
       returns the facet values "Red" with count 100 and "Blue" with count
       200, because the "colorFamilies" key is now excluded from the filter.
       Because this field doesn't affect search results, the search results
       are still correctly filtered to return only "Red" products.
      
       A maximum of 100 values are allowed. Otherwise, an INVALID_ARGUMENT error
       is returned.
       
      repeated string excluded_filter_keys = 3;
      Returns:
      This builder for chaining.
    • addExcludedFilterKeysBytes

      public SearchRequest.FacetSpec.Builder addExcludedFilterKeysBytes(com.google.protobuf.ByteString value)
       List of keys to exclude when faceting.
      
       By default,
       [FacetKey.key][google.cloud.retail.v2alpha.SearchRequest.FacetSpec.FacetKey.key]
       is not excluded from the filter unless it is listed in this field.
      
       Listing a facet key in this field allows its values to appear as facet
       results, even when they are filtered out of search results. Using this
       field does not affect what search results are returned.
      
       For example, suppose there are 100 products with the color facet "Red"
       and 200 products with the color facet "Blue". A query containing the
       filter "colorFamilies:ANY("Red")" and having "colorFamilies" as
       [FacetKey.key][google.cloud.retail.v2alpha.SearchRequest.FacetSpec.FacetKey.key]
       would by default return only "Red" products in the search results, and
       also return "Red" with count 100 as the only color facet. Although there
       are also blue products available, "Blue" would not be shown as an
       available facet value.
      
       If "colorFamilies" is listed in "excludedFilterKeys", then the query
       returns the facet values "Red" with count 100 and "Blue" with count
       200, because the "colorFamilies" key is now excluded from the filter.
       Because this field doesn't affect search results, the search results
       are still correctly filtered to return only "Red" products.
      
       A maximum of 100 values are allowed. Otherwise, an INVALID_ARGUMENT error
       is returned.
       
      repeated string excluded_filter_keys = 3;
      Parameters:
      value - The bytes of the excludedFilterKeys to add.
      Returns:
      This builder for chaining.
    • getEnableDynamicPosition

      public boolean getEnableDynamicPosition()
       Enables dynamic position for this facet. If set to true, the position of
       this facet among all facets in the response is determined by Google
       Retail Search. It is ordered together with dynamic facets if dynamic
       facets is enabled. If set to false, the position of this facet in the
       response is the same as in the request, and it is ranked before
       the facets with dynamic position enable and all dynamic facets.
      
       For example, you may always want to have rating facet returned in
       the response, but it's not necessarily to always display the rating facet
       at the top. In that case, you can set enable_dynamic_position to true so
       that the position of rating facet in response is determined by
       Google Retail Search.
      
       Another example, assuming you have the following facets in the request:
      
       * "rating", enable_dynamic_position = true
      
       * "price", enable_dynamic_position = false
      
       * "brands", enable_dynamic_position = false
      
       And also you have a dynamic facets enable, which generates a facet
       "gender". Then, the final order of the facets in the response can be
       ("price", "brands", "rating", "gender") or ("price", "brands", "gender",
       "rating") depends on how Google Retail Search orders "gender" and
       "rating" facets. However, notice that "price" and "brands" are always
       ranked at first and second position because their enable_dynamic_position
       values are false.
       
      bool enable_dynamic_position = 4;
      Specified by:
      getEnableDynamicPosition in interface SearchRequest.FacetSpecOrBuilder
      Returns:
      The enableDynamicPosition.
    • setEnableDynamicPosition

      public SearchRequest.FacetSpec.Builder setEnableDynamicPosition(boolean value)
       Enables dynamic position for this facet. If set to true, the position of
       this facet among all facets in the response is determined by Google
       Retail Search. It is ordered together with dynamic facets if dynamic
       facets is enabled. If set to false, the position of this facet in the
       response is the same as in the request, and it is ranked before
       the facets with dynamic position enable and all dynamic facets.
      
       For example, you may always want to have rating facet returned in
       the response, but it's not necessarily to always display the rating facet
       at the top. In that case, you can set enable_dynamic_position to true so
       that the position of rating facet in response is determined by
       Google Retail Search.
      
       Another example, assuming you have the following facets in the request:
      
       * "rating", enable_dynamic_position = true
      
       * "price", enable_dynamic_position = false
      
       * "brands", enable_dynamic_position = false
      
       And also you have a dynamic facets enable, which generates a facet
       "gender". Then, the final order of the facets in the response can be
       ("price", "brands", "rating", "gender") or ("price", "brands", "gender",
       "rating") depends on how Google Retail Search orders "gender" and
       "rating" facets. However, notice that "price" and "brands" are always
       ranked at first and second position because their enable_dynamic_position
       values are false.
       
      bool enable_dynamic_position = 4;
      Parameters:
      value - The enableDynamicPosition to set.
      Returns:
      This builder for chaining.
    • clearEnableDynamicPosition

      public SearchRequest.FacetSpec.Builder clearEnableDynamicPosition()
       Enables dynamic position for this facet. If set to true, the position of
       this facet among all facets in the response is determined by Google
       Retail Search. It is ordered together with dynamic facets if dynamic
       facets is enabled. If set to false, the position of this facet in the
       response is the same as in the request, and it is ranked before
       the facets with dynamic position enable and all dynamic facets.
      
       For example, you may always want to have rating facet returned in
       the response, but it's not necessarily to always display the rating facet
       at the top. In that case, you can set enable_dynamic_position to true so
       that the position of rating facet in response is determined by
       Google Retail Search.
      
       Another example, assuming you have the following facets in the request:
      
       * "rating", enable_dynamic_position = true
      
       * "price", enable_dynamic_position = false
      
       * "brands", enable_dynamic_position = false
      
       And also you have a dynamic facets enable, which generates a facet
       "gender". Then, the final order of the facets in the response can be
       ("price", "brands", "rating", "gender") or ("price", "brands", "gender",
       "rating") depends on how Google Retail Search orders "gender" and
       "rating" facets. However, notice that "price" and "brands" are always
       ranked at first and second position because their enable_dynamic_position
       values are false.
       
      bool enable_dynamic_position = 4;
      Returns:
      This builder for chaining.