Class SearchRequest.FacetSpec

  • All Implemented Interfaces:
    SearchRequest.FacetSpecOrBuilder, com.google.protobuf.Message, com.google.protobuf.MessageLite, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, Serializable
    Enclosing class:
    SearchRequest

    public static final class SearchRequest.FacetSpec
    extends com.google.protobuf.GeneratedMessageV3
    implements SearchRequest.FacetSpecOrBuilder
     A facet specification to perform faceted search.
     
    Protobuf type google.cloud.discoveryengine.v1beta.SearchRequest.FacetSpec
    See Also:
    Serialized Form
    • Field Detail

      • EXCLUDED_FILTER_KEYS_FIELD_NUMBER

        public static final int EXCLUDED_FILTER_KEYS_FIELD_NUMBER
        See Also:
        Constant Field Values
      • ENABLE_DYNAMIC_POSITION_FIELD_NUMBER

        public static final int ENABLE_DYNAMIC_POSITION_FIELD_NUMBER
        See Also:
        Constant Field Values
    • Method Detail

      • newInstance

        protected Object newInstance​(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter unused)
        Overrides:
        newInstance in class com.google.protobuf.GeneratedMessageV3
      • 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
      • 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.
      • getLimit

        public int getLimit()
         Maximum of facet values that should be returned for this facet. If
         unspecified, defaults to 20. The maximum allowed value is 300. Values
         above 300 are 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.
      • 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.
      • 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.
      • isInitialized

        public final boolean isInitialized()
        Specified by:
        isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
        Overrides:
        isInitialized in class com.google.protobuf.GeneratedMessageV3
      • writeTo

        public void writeTo​(com.google.protobuf.CodedOutputStream output)
                     throws IOException
        Specified by:
        writeTo in interface com.google.protobuf.MessageLite
        Overrides:
        writeTo in class com.google.protobuf.GeneratedMessageV3
        Throws:
        IOException
      • getSerializedSize

        public int getSerializedSize()
        Specified by:
        getSerializedSize in interface com.google.protobuf.MessageLite
        Overrides:
        getSerializedSize in class com.google.protobuf.GeneratedMessageV3
      • equals

        public boolean equals​(Object obj)
        Specified by:
        equals in interface com.google.protobuf.Message
        Overrides:
        equals in class com.google.protobuf.AbstractMessage
      • hashCode

        public int hashCode()
        Specified by:
        hashCode in interface com.google.protobuf.Message
        Overrides:
        hashCode in class com.google.protobuf.AbstractMessage
      • parseFrom

        public static SearchRequest.FacetSpec parseFrom​(ByteBuffer data)
                                                 throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static SearchRequest.FacetSpec parseFrom​(ByteBuffer data,
                                                        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                 throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static SearchRequest.FacetSpec parseFrom​(com.google.protobuf.ByteString data)
                                                 throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static SearchRequest.FacetSpec parseFrom​(com.google.protobuf.ByteString data,
                                                        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                 throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static SearchRequest.FacetSpec parseFrom​(byte[] data)
                                                 throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static SearchRequest.FacetSpec parseFrom​(byte[] data,
                                                        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                 throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • newBuilderForType

        public SearchRequest.FacetSpec.Builder newBuilderForType()
        Specified by:
        newBuilderForType in interface com.google.protobuf.Message
        Specified by:
        newBuilderForType in interface com.google.protobuf.MessageLite
      • toBuilder

        public SearchRequest.FacetSpec.Builder toBuilder()
        Specified by:
        toBuilder in interface com.google.protobuf.Message
        Specified by:
        toBuilder in interface com.google.protobuf.MessageLite
      • newBuilderForType

        protected SearchRequest.FacetSpec.Builder newBuilderForType​(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
        Specified by:
        newBuilderForType in class com.google.protobuf.GeneratedMessageV3
      • getParserForType

        public com.google.protobuf.Parser<SearchRequest.FacetSpec> getParserForType()
        Specified by:
        getParserForType in interface com.google.protobuf.Message
        Specified by:
        getParserForType in interface com.google.protobuf.MessageLite
        Overrides:
        getParserForType in class com.google.protobuf.GeneratedMessageV3
      • getDefaultInstanceForType

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