public sealed class SearchRequest : IMessage<SearchRequest>, IEquatable<SearchRequest>, IDeepCloneable<SearchRequest>, IBufferMessage, IMessage, IPageRequest
Request message for [SearchService.Search][google.cloud.retail.v2.SearchService.Search] method.
Implements
IMessage<SearchRequest>, IEquatable<SearchRequest>, IDeepCloneable<SearchRequest>, IBufferMessage, IMessage, IPageRequestNamespace
Google.Cloud.Retail.V2Assembly
Google.Cloud.Retail.V2.dll
Constructors
SearchRequest()
public SearchRequest()
SearchRequest(SearchRequest)
public SearchRequest(SearchRequest other)
Parameter | |
---|---|
Name | Description |
other | SearchRequest |
Properties
BoostSpec
public SearchRequest.Types.BoostSpec BoostSpec { get; set; }
Boost specification to boost certain products.
Property Value | |
---|---|
Type | Description |
SearchRequest.Types.BoostSpec |
Branch
public string Branch { get; set; }
The branch resource name, such as
projects/*/locations/global/catalogs/default_catalog/branches/0
.
Use "default_branch" as the branch ID or leave this field empty, to search products under the default branch.
Property Value | |
---|---|
Type | Description |
String |
BranchAsBranchName
public BranchName BranchAsBranchName { get; set; }
BranchName-typed view over the Branch resource name property.
Property Value | |
---|---|
Type | Description |
BranchName |
CanonicalFilter
public string CanonicalFilter { get; set; }
The filter applied to every search request when quality improvement such as query expansion is needed. For example, if a query does not have enough results, an expanded query with [SearchRequest.canonical_filter][google.cloud.retail.v2.SearchRequest.canonical_filter] will be returned as a supplement of the original query. This field is strongly recommended to achieve high search quality.
See [SearchRequest.filter][google.cloud.retail.v2.SearchRequest.filter] for more details about filter syntax.
Property Value | |
---|---|
Type | Description |
String |
DynamicFacetSpec
public SearchRequest.Types.DynamicFacetSpec DynamicFacetSpec { get; set; }
The specification for dynamically generated facets. Notice that only textual facets can be dynamically generated.
This feature requires additional allowlisting. Contact Retail Support (retail-search-support@google.com) if you are interested in using dynamic facet feature.
Property Value | |
---|---|
Type | Description |
SearchRequest.Types.DynamicFacetSpec |
FacetSpecs
public RepeatedField<SearchRequest.Types.FacetSpec> FacetSpecs { get; }
Facet specifications for faceted search. If empty, no facets are returned.
A maximum of 100 values are allowed. Otherwise, an INVALID_ARGUMENT error is returned.
Property Value | |
---|---|
Type | Description |
RepeatedField<SearchRequest.Types.FacetSpec> |
Filter
public string Filter { get; set; }
The filter syntax consists of an expression language for constructing a predicate from one or more fields of the products being filtered. Filter expression is case-sensitive.
If this field is unrecognizable, an INVALID_ARGUMENT is returned.
Property Value | |
---|---|
Type | Description |
String |
Offset
public int Offset { get; set; }
A 0-indexed integer that specifies the current offset (that is, starting result location, amongst the [Product][google.cloud.retail.v2.Product]s deemed by the API as relevant) in search results. This field is only considered if [page_token][google.cloud.retail.v2.SearchRequest.page_token] is unset.
If this field is negative, an INVALID_ARGUMENT is returned.
Property Value | |
---|---|
Type | Description |
Int32 |
OrderBy
public string OrderBy { get; set; }
The order in which products are returned. Products can be ordered by a field in an [Product][google.cloud.retail.v2.Product] object. Leave it unset if ordered by relevance. OrderBy expression is case-sensitive.
If this field is unrecognizable, an INVALID_ARGUMENT is returned.
Property Value | |
---|---|
Type | Description |
String |
PageCategories
public RepeatedField<string> PageCategories { get; }
The categories associated with a category page. Required for category navigation queries to achieve good search quality. The format should be the same as [UserEvent.page_categories][google.cloud.retail.v2.UserEvent.page_categories];
To represent full path of category, use '>' sign to separate different hierarchies. If '>' is part of the category name, please replace it with other character(s).
Category pages include special pages such as sales or promotions. For instance, a special sale page may have the category hierarchy: "pageCategories" : ["Sales > 2017 Black Friday Deals"].
Property Value | |
---|---|
Type | Description |
RepeatedField<String> |
PageSize
public int PageSize { get; set; }
Maximum number of [Product][google.cloud.retail.v2.Product]s to return. If unspecified, defaults to a reasonable value. The maximum allowed value is
- Values above 120 will be coerced to 120.
If this field is negative, an INVALID_ARGUMENT is returned.
Property Value | |
---|---|
Type | Description |
Int32 |
PageToken
public string PageToken { get; set; }
A page token [SearchResponse.next_page_token][google.cloud.retail.v2.SearchResponse.next_page_token], received from a previous [SearchService.Search][google.cloud.retail.v2.SearchService.Search] call. Provide this to retrieve the subsequent page.
When paginating, all other parameters provided to [SearchService.Search][google.cloud.retail.v2.SearchService.Search] must match the call that provided the page token. Otherwise, an INVALID_ARGUMENT error is returned.
Property Value | |
---|---|
Type | Description |
String |
Placement
public string Placement { get; set; }
Required. The resource name of the search engine placement, such as
projects/*/locations/global/catalogs/default_catalog/placements/default_search
.
This field is used to identify the set of models that will be used to make
the search.
We currently support one placement with the following ID:
default_search
.
Property Value | |
---|---|
Type | Description |
String |
Query
public string Query { get; set; }
Raw search query.
Property Value | |
---|---|
Type | Description |
String |
QueryExpansionSpec
public SearchRequest.Types.QueryExpansionSpec QueryExpansionSpec { get; set; }
The query expansion specification that specifies the conditions under which query expansion will occur.
Property Value | |
---|---|
Type | Description |
SearchRequest.Types.QueryExpansionSpec |
UserInfo
public UserInfo UserInfo { get; set; }
User information.
Property Value | |
---|---|
Type | Description |
UserInfo |
VariantRollupKeys
public RepeatedField<string> VariantRollupKeys { get; }
The keys to fetch and rollup the matching [variant][google.cloud.retail.v2.Product.Type.VARIANT] [Product][google.cloud.retail.v2.Product]s attributes. The attributes from all the matching [variant][google.cloud.retail.v2.Product.Type.VARIANT] [Product][google.cloud.retail.v2.Product]s are merged and de-duplicated. Notice that rollup [variant][google.cloud.retail.v2.Product.Type.VARIANT] [Product][google.cloud.retail.v2.Product]s attributes will lead to extra query latency. Maximum number of keys is 10.
For [Product.fulfillment_info][google.cloud.retail.v2.Product.fulfillment_info], a fulfillment type and a fulfillment ID must be provided in the format of "fulfillmentType.filfillmentId". E.g., in "pickupInStore.store123", "pickupInStore" is fulfillment type and "store123" is the store ID.
Supported keys are:
- colorFamilies
- price
- originalPrice
- discount
- attributes.key, where key is any key in the [Product.attributes][google.cloud.retail.v2.Product.attributes] map.
- pickupInStore.id, where id is any [FulfillmentInfo.ids][] for type [FulfillmentInfo.Type.PICKUP_IN_STORE][].
- shipToStore.id, where id is any [FulfillmentInfo.ids][] for type [FulfillmentInfo.Type.SHIP_TO_STORE][].
- sameDayDelivery.id, where id is any [FulfillmentInfo.ids][] for type [FulfillmentInfo.Type.SAME_DAY_DELIVERY][].
- nextDayDelivery.id, where id is any [FulfillmentInfo.ids][] for type [FulfillmentInfo.Type.NEXT_DAY_DELIVERY][].
- customFulfillment1.id, where id is any [FulfillmentInfo.ids][] for type [FulfillmentInfo.Type.CUSTOM_TYPE_1][].
- customFulfillment2.id, where id is any [FulfillmentInfo.ids][] for type [FulfillmentInfo.Type.CUSTOM_TYPE_2][].
- customFulfillment3.id, where id is any [FulfillmentInfo.ids][] for type [FulfillmentInfo.Type.CUSTOM_TYPE_3][].
- customFulfillment4.id, where id is any [FulfillmentInfo.ids][] for type [FulfillmentInfo.Type.CUSTOM_TYPE_4][].
- customFulfillment5.id, where id is any [FulfillmentInfo.ids][] for type [FulfillmentInfo.Type.CUSTOM_TYPE_5][].
If this field is set to an invalid value other than these, an INVALID_ARGUMENT error is returned.
Property Value | |
---|---|
Type | Description |
RepeatedField<String> |
VisitorId
public string VisitorId { get; set; }
Required. A unique identifier for tracking visitors. For example, this could be implemented with an HTTP cookie, which should be able to uniquely identify a visitor on a single device. This unique identifier should not change if the visitor logs in or out of the website.
The field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned.
Property Value | |
---|---|
Type | Description |
String |