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.discoveryengine.v1beta.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.discoveryengine.v1beta.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.discoveryengine.v1beta.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.discoveryengine.v1beta.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.discoveryengine.v1beta.SearchRequest.FacetSpec.FacetKey facet_key = 1 [(.google.api.field_behavior) = REQUIRED];
    • setFacetKey

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

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

      public SearchRequest.FacetSpec.Builder clearFacetKey()
       Required. The facet key specification.
       
      .google.cloud.discoveryengine.v1beta.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.discoveryengine.v1beta.SearchRequest.FacetSpec.FacetKey facet_key = 1 [(.google.api.field_behavior) = REQUIRED];
    • getFacetKeyOrBuilder

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

      public int getLimit()
       Maximum facet values that are returned for this facet. If
       unspecified, defaults to 20. The maximum allowed value is 300. Values
       above 300 are coerced to 300.
       For aggregation in healthcare search, when the [FacetKey.key] is
       "healthcare_aggregation_key", the limit will be overridden to
       10,000 internally, regardless of the value set here.
      
       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 facet values that are returned for this facet. If
       unspecified, defaults to 20. The maximum allowed value is 300. Values
       above 300 are coerced to 300.
       For aggregation in healthcare search, when the [FacetKey.key] is
       "healthcare_aggregation_key", the limit will be overridden to
       10,000 internally, regardless of the value set here.
      
       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 facet values that are returned for this facet. If
       unspecified, defaults to 20. The maximum allowed value is 300. Values
       above 300 are coerced to 300.
       For aggregation in healthcare search, when the [FacetKey.key] is
       "healthcare_aggregation_key", the limit will be overridden to
       10,000 internally, regardless of the value set here.
      
       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.discoveryengine.v1beta.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 documents with the color facet "Red"
       and 200 documents with the color facet "Blue". A query containing the
       filter "color:ANY("Red")" and having "color" as
       [FacetKey.key][google.cloud.discoveryengine.v1beta.SearchRequest.FacetSpec.FacetKey.key]
       would by default return only "Red" documents in the search results, and
       also return "Red" with count 100 as the only color facet. Although there
       are also blue documents available, "Blue" would not be shown as an
       available facet value.
      
       If "color" is listed in "excludedFilterKeys", then the query returns the
       facet values "Red" with count 100 and "Blue" with count 200, because the
       "color" 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" documents.
      
       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.discoveryengine.v1beta.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 documents with the color facet "Red"
       and 200 documents with the color facet "Blue". A query containing the
       filter "color:ANY("Red")" and having "color" as
       [FacetKey.key][google.cloud.discoveryengine.v1beta.SearchRequest.FacetSpec.FacetKey.key]
       would by default return only "Red" documents in the search results, and
       also return "Red" with count 100 as the only color facet. Although there
       are also blue documents available, "Blue" would not be shown as an
       available facet value.
      
       If "color" is listed in "excludedFilterKeys", then the query returns the
       facet values "Red" with count 100 and "Blue" with count 200, because the
       "color" 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" documents.
      
       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.discoveryengine.v1beta.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 documents with the color facet "Red"
       and 200 documents with the color facet "Blue". A query containing the
       filter "color:ANY("Red")" and having "color" as
       [FacetKey.key][google.cloud.discoveryengine.v1beta.SearchRequest.FacetSpec.FacetKey.key]
       would by default return only "Red" documents in the search results, and
       also return "Red" with count 100 as the only color facet. Although there
       are also blue documents available, "Blue" would not be shown as an
       available facet value.
      
       If "color" is listed in "excludedFilterKeys", then the query returns the
       facet values "Red" with count 100 and "Blue" with count 200, because the
       "color" 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" documents.
      
       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.discoveryengine.v1beta.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 documents with the color facet "Red"
       and 200 documents with the color facet "Blue". A query containing the
       filter "color:ANY("Red")" and having "color" as
       [FacetKey.key][google.cloud.discoveryengine.v1beta.SearchRequest.FacetSpec.FacetKey.key]
       would by default return only "Red" documents in the search results, and
       also return "Red" with count 100 as the only color facet. Although there
       are also blue documents available, "Blue" would not be shown as an
       available facet value.
      
       If "color" is listed in "excludedFilterKeys", then the query returns the
       facet values "Red" with count 100 and "Blue" with count 200, because the
       "color" 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" documents.
      
       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.discoveryengine.v1beta.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 documents with the color facet "Red"
       and 200 documents with the color facet "Blue". A query containing the
       filter "color:ANY("Red")" and having "color" as
       [FacetKey.key][google.cloud.discoveryengine.v1beta.SearchRequest.FacetSpec.FacetKey.key]
       would by default return only "Red" documents in the search results, and
       also return "Red" with count 100 as the only color facet. Although there
       are also blue documents available, "Blue" would not be shown as an
       available facet value.
      
       If "color" is listed in "excludedFilterKeys", then the query returns the
       facet values "Red" with count 100 and "Blue" with count 200, because the
       "color" 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" documents.
      
       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.discoveryengine.v1beta.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 documents with the color facet "Red"
       and 200 documents with the color facet "Blue". A query containing the
       filter "color:ANY("Red")" and having "color" as
       [FacetKey.key][google.cloud.discoveryengine.v1beta.SearchRequest.FacetSpec.FacetKey.key]
       would by default return only "Red" documents in the search results, and
       also return "Red" with count 100 as the only color facet. Although there
       are also blue documents available, "Blue" would not be shown as an
       available facet value.
      
       If "color" is listed in "excludedFilterKeys", then the query returns the
       facet values "Red" with count 100 and "Blue" with count 200, because the
       "color" 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" documents.
      
       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.discoveryengine.v1beta.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 documents with the color facet "Red"
       and 200 documents with the color facet "Blue". A query containing the
       filter "color:ANY("Red")" and having "color" as
       [FacetKey.key][google.cloud.discoveryengine.v1beta.SearchRequest.FacetSpec.FacetKey.key]
       would by default return only "Red" documents in the search results, and
       also return "Red" with count 100 as the only color facet. Although there
       are also blue documents available, "Blue" would not be shown as an
       available facet value.
      
       If "color" is listed in "excludedFilterKeys", then the query returns the
       facet values "Red" with count 100 and "Blue" with count 200, because the
       "color" 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" documents.
      
       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.discoveryengine.v1beta.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 documents with the color facet "Red"
       and 200 documents with the color facet "Blue". A query containing the
       filter "color:ANY("Red")" and having "color" as
       [FacetKey.key][google.cloud.discoveryengine.v1beta.SearchRequest.FacetSpec.FacetKey.key]
       would by default return only "Red" documents in the search results, and
       also return "Red" with count 100 as the only color facet. Although there
       are also blue documents available, "Blue" would not be shown as an
       available facet value.
      
       If "color" is listed in "excludedFilterKeys", then the query returns the
       facet values "Red" with count 100 and "Blue" with count 200, because the
       "color" 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" documents.
      
       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.discoveryengine.v1beta.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 documents with the color facet "Red"
       and 200 documents with the color facet "Blue". A query containing the
       filter "color:ANY("Red")" and having "color" as
       [FacetKey.key][google.cloud.discoveryengine.v1beta.SearchRequest.FacetSpec.FacetKey.key]
       would by default return only "Red" documents in the search results, and
       also return "Red" with count 100 as the only color facet. Although there
       are also blue documents available, "Blue" would not be shown as an
       available facet value.
      
       If "color" is listed in "excludedFilterKeys", then the query returns the
       facet values "Red" with count 100 and "Blue" with count 200, because the
       "color" 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" documents.
      
       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 automatically.
       If dynamic facets are enabled, it is ordered together.
       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
       automatically.
      
       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 enabled, 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 API orders "gender" and "rating" facets.
       However, notice that "price" and "brands" are always
       ranked at first and second position because their enable_dynamic_position
       is 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 automatically.
       If dynamic facets are enabled, it is ordered together.
       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
       automatically.
      
       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 enabled, 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 API orders "gender" and "rating" facets.
       However, notice that "price" and "brands" are always
       ranked at first and second position because their enable_dynamic_position
       is 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 automatically.
       If dynamic facets are enabled, it is ordered together.
       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
       automatically.
      
       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 enabled, 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 API orders "gender" and "rating" facets.
       However, notice that "price" and "brands" are always
       ranked at first and second position because their enable_dynamic_position
       is false.
       
      bool enable_dynamic_position = 4;
      Returns:
      This builder for chaining.