public static final class SearchRequest.FacetSpec extends GeneratedMessageV3 implements SearchRequest.FacetSpecOrBuilder
A facet specification to perform faceted search.
Protobuf type google.cloud.retail.v2.SearchRequest.FacetSpec
Static Fields
ENABLE_DYNAMIC_POSITION_FIELD_NUMBER
public static final int ENABLE_DYNAMIC_POSITION_FIELD_NUMBER
Field Value
EXCLUDED_FILTER_KEYS_FIELD_NUMBER
public static final int EXCLUDED_FILTER_KEYS_FIELD_NUMBER
Field Value
FACET_KEY_FIELD_NUMBER
public static final int FACET_KEY_FIELD_NUMBER
Field Value
LIMIT_FIELD_NUMBER
public static final int LIMIT_FIELD_NUMBER
Field Value
Static Methods
getDefaultInstance()
public static SearchRequest.FacetSpec getDefaultInstance()
Returns
getDescriptor()
public static final Descriptors.Descriptor getDescriptor()
Returns
newBuilder()
public static SearchRequest.FacetSpec.Builder newBuilder()
Returns
newBuilder(SearchRequest.FacetSpec prototype)
public static SearchRequest.FacetSpec.Builder newBuilder(SearchRequest.FacetSpec prototype)
Parameter
Returns
public static SearchRequest.FacetSpec parseDelimitedFrom(InputStream input)
Parameter
Returns
Exceptions
public static SearchRequest.FacetSpec parseDelimitedFrom(InputStream input, ExtensionRegistryLite extensionRegistry)
Parameters
Returns
Exceptions
parseFrom(byte[] data)
public static SearchRequest.FacetSpec parseFrom(byte[] data)
Parameter
Name | Description |
data | byte[]
|
Returns
Exceptions
parseFrom(byte[] data, ExtensionRegistryLite extensionRegistry)
public static SearchRequest.FacetSpec parseFrom(byte[] data, ExtensionRegistryLite extensionRegistry)
Parameters
Returns
Exceptions
parseFrom(ByteString data)
public static SearchRequest.FacetSpec parseFrom(ByteString data)
Parameter
Returns
Exceptions
parseFrom(ByteString data, ExtensionRegistryLite extensionRegistry)
public static SearchRequest.FacetSpec parseFrom(ByteString data, ExtensionRegistryLite extensionRegistry)
Parameters
Returns
Exceptions
public static SearchRequest.FacetSpec parseFrom(CodedInputStream input)
Parameter
Returns
Exceptions
public static SearchRequest.FacetSpec parseFrom(CodedInputStream input, ExtensionRegistryLite extensionRegistry)
Parameters
Returns
Exceptions
public static SearchRequest.FacetSpec parseFrom(InputStream input)
Parameter
Returns
Exceptions
public static SearchRequest.FacetSpec parseFrom(InputStream input, ExtensionRegistryLite extensionRegistry)
Parameters
Returns
Exceptions
parseFrom(ByteBuffer data)
public static SearchRequest.FacetSpec parseFrom(ByteBuffer data)
Parameter
Returns
Exceptions
parseFrom(ByteBuffer data, ExtensionRegistryLite extensionRegistry)
public static SearchRequest.FacetSpec parseFrom(ByteBuffer data, ExtensionRegistryLite extensionRegistry)
Parameters
Returns
Exceptions
parser()
public static Parser<SearchRequest.FacetSpec> parser()
Returns
Methods
equals(Object obj)
public boolean equals(Object obj)
Parameter
Returns
Overrides
getDefaultInstanceForType()
public SearchRequest.FacetSpec getDefaultInstanceForType()
Returns
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 will be ordered together with dynamic facets if dynamic
facets is enabled. If set to false, the position of this facet in the
response will be the same as in the request, and it will be 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 will be 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 will generate 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" will always be
ranked at 1st and 2nd position since their enable_dynamic_position are
false.
bool enable_dynamic_position = 4;
Returns
Type | Description |
boolean | The enableDynamicPosition.
|
getExcludedFilterKeys(int index)
public String getExcludedFilterKeys(int index)
List of keys to exclude when faceting.
By default,
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
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;
Parameter
Name | Description |
index | int
The index of the element to return.
|
Returns
Type | Description |
String | The excludedFilterKeys at the given index.
|
getExcludedFilterKeysBytes(int index)
public ByteString getExcludedFilterKeysBytes(int index)
List of keys to exclude when faceting.
By default,
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
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;
Parameter
Name | Description |
index | int
The index of the value to return.
|
Returns
Type | Description |
ByteString | The bytes of the excludedFilterKeys at the given index.
|
getExcludedFilterKeysCount()
public int getExcludedFilterKeysCount()
List of keys to exclude when faceting.
By default,
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
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
Type | Description |
int | The count of excludedFilterKeys.
|
getExcludedFilterKeysList()
public ProtocolStringList getExcludedFilterKeysList()
List of keys to exclude when faceting.
By default,
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
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
getFacetKey()
public SearchRequest.FacetSpec.FacetKey getFacetKey()
Required. The facet key specification.
.google.cloud.retail.v2.SearchRequest.FacetSpec.FacetKey facet_key = 1 [(.google.api.field_behavior) = REQUIRED];
Returns
getFacetKeyOrBuilder()
public SearchRequest.FacetSpec.FacetKeyOrBuilder getFacetKeyOrBuilder()
Required. The facet key specification.
.google.cloud.retail.v2.SearchRequest.FacetSpec.FacetKey facet_key = 1 [(.google.api.field_behavior) = REQUIRED];
Returns
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 will be coerced to 300.
If this field is negative, an INVALID_ARGUMENT is returned.
int32 limit = 2;
Returns
Type | Description |
int | The limit.
|
getParserForType()
public Parser<SearchRequest.FacetSpec> getParserForType()
Returns
Overrides
getSerializedSize()
public int getSerializedSize()
Returns
Overrides
getUnknownFields()
public final UnknownFieldSet getUnknownFields()
Returns
Overrides
hasFacetKey()
public boolean hasFacetKey()
Required. The facet key specification.
.google.cloud.retail.v2.SearchRequest.FacetSpec.FacetKey facet_key = 1 [(.google.api.field_behavior) = REQUIRED];
Returns
Type | Description |
boolean | Whether the facetKey field is set.
|
hashCode()
Returns
Overrides
internalGetFieldAccessorTable()
protected GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
Returns
Overrides
isInitialized()
public final boolean isInitialized()
Returns
Overrides
newBuilderForType()
public SearchRequest.FacetSpec.Builder newBuilderForType()
Returns
newBuilderForType(GeneratedMessageV3.BuilderParent parent)
protected SearchRequest.FacetSpec.Builder newBuilderForType(GeneratedMessageV3.BuilderParent parent)
Parameter
Returns
Overrides
newInstance(GeneratedMessageV3.UnusedPrivateParameter unused)
protected Object newInstance(GeneratedMessageV3.UnusedPrivateParameter unused)
Parameter
Returns
Overrides
toBuilder()
public SearchRequest.FacetSpec.Builder toBuilder()
Returns
writeTo(CodedOutputStream output)
public void writeTo(CodedOutputStream output)
Parameter
Overrides
Exceptions