Skip to main content

CompleteQueryRequest

Struct CompleteQueryRequest 

Source
#[non_exhaustive]
pub struct CompleteQueryRequest { pub catalog: String, pub query: String, pub visitor_id: String, pub language_codes: Vec<String>, pub device_type: String, pub dataset: String, pub max_suggestions: i32, pub enable_attribute_suggestions: bool, pub entity: String, /* private fields */ }
Expand description

Autocomplete parameters.

Fields (Non-exhaustive)§

This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.
§catalog: String

Required. Catalog for which the completion is performed.

Full resource name of catalog, such as projects/*/locations/global/catalogs/default_catalog.

§query: String

Required. The query used to generate suggestions.

The maximum number of allowed characters is 255.

§visitor_id: String

Recommended field. 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.

§language_codes: Vec<String>

Note that this field applies for user-data dataset only. For requests with cloud-retail dataset, setting this field has no effect.

The language filters applied to the output suggestions. If set, it should contain the language of the query. If not set, suggestions are returned without considering language restrictions. This is the BCP-47 language code, such as “en-US” or “sr-Latn”. For more information, see Tags for Identifying Languages. The maximum number of language codes is 3.

§device_type: String

The device type context for completion suggestions. We recommend that you leave this field empty.

It can apply different suggestions on different device types, e.g. DESKTOP, MOBILE. If it is empty, the suggestions are across all device types.

Supported formats:

  • UNKNOWN_DEVICE_TYPE

  • DESKTOP

  • MOBILE

  • A customized string starts with OTHER_, e.g. OTHER_IPHONE.

§dataset: String

Determines which dataset to use for fetching completion. “user-data” will use the dataset imported through CompletionService.ImportCompletionData. cloud-retail will use the dataset generated by Cloud Retail based on user events. If left empty, completions will be fetched from the user-data dataset.

Current supported values:

  • user-data

  • cloud-retail: This option requires enabling auto-learning function first. See guidelines.

§max_suggestions: i32

Completion max suggestions. If left unset or set to 0, then will fallback to the configured value CompletionConfig.max_suggestions.

The maximum allowed max suggestions is 20. If it is set higher, it will be capped by 20.

§enable_attribute_suggestions: bool

If true, attribute suggestions are enabled and provided in the response.

This field is only available for the cloud-retail dataset.

§entity: String

The entity for customers who run multiple entities, domains, sites, or regions, for example, Google US, Google Ads, Waymo, google.com, youtube.com, etc. If this is set, it must be an exact match with UserEvent.entity to get per-entity autocomplete results. This field will be applied to completion_results only. It has no effect on the attribute_results. Also, this entity should be limited to 256 characters, if too long, it will be truncated to 256 characters in both generation and serving time, and may lead to mis-match. To ensure it works, please set the entity with string within 256 characters.

Implementations§

Source§

impl CompleteQueryRequest

Source

pub fn new() -> Self

Source

pub fn set_catalog<T: Into<String>>(self, v: T) -> Self

Sets the value of catalog.

§Example
let x = CompleteQueryRequest::new().set_catalog("example");
Source

pub fn set_query<T: Into<String>>(self, v: T) -> Self

Sets the value of query.

§Example
let x = CompleteQueryRequest::new().set_query("example");
Source

pub fn set_visitor_id<T: Into<String>>(self, v: T) -> Self

Sets the value of visitor_id.

§Example
let x = CompleteQueryRequest::new().set_visitor_id("example");
Source

pub fn set_language_codes<T, V>(self, v: T) -> Self
where T: IntoIterator<Item = V>, V: Into<String>,

Sets the value of language_codes.

§Example
let x = CompleteQueryRequest::new().set_language_codes(["a", "b", "c"]);
Source

pub fn set_device_type<T: Into<String>>(self, v: T) -> Self

Sets the value of device_type.

§Example
let x = CompleteQueryRequest::new().set_device_type("example");
Source

pub fn set_dataset<T: Into<String>>(self, v: T) -> Self

Sets the value of dataset.

§Example
let x = CompleteQueryRequest::new().set_dataset("example");
Source

pub fn set_max_suggestions<T: Into<i32>>(self, v: T) -> Self

Sets the value of max_suggestions.

§Example
let x = CompleteQueryRequest::new().set_max_suggestions(42);
Source

pub fn set_enable_attribute_suggestions<T: Into<bool>>(self, v: T) -> Self

Sets the value of enable_attribute_suggestions.

§Example
let x = CompleteQueryRequest::new().set_enable_attribute_suggestions(true);
Source

pub fn set_entity<T: Into<String>>(self, v: T) -> Self

Sets the value of entity.

§Example
let x = CompleteQueryRequest::new().set_entity("example");

Trait Implementations§

Source§

impl Clone for CompleteQueryRequest

Source§

fn clone(&self) -> CompleteQueryRequest

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for CompleteQueryRequest

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for CompleteQueryRequest

Source§

fn default() -> CompleteQueryRequest

Returns the “default value” for a type. Read more
Source§

impl Message for CompleteQueryRequest

Source§

fn typename() -> &'static str

The typename of this message.
Source§

impl PartialEq for CompleteQueryRequest

Source§

fn eq(&self, other: &CompleteQueryRequest) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl StructuralPartialEq for CompleteQueryRequest

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,