public sealed class SearchRequest : IMessage<SearchRequest>, IEquatable<SearchRequest>, IDeepCloneable<SearchRequest>, IBufferMessage, IMessage, IPageRequestRequest 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 |
|