Class v2.CompletionServiceClient (2.0.0)

Auto-completion service for retail.

This feature is only available for users who have Retail Search enabled. Please enable Retail Search on Cloud Console before using this feature. v2

Package

@google-cloud/retail

Constructors

(constructor)(opts)

constructor(opts?: ClientOptions);

Construct an instance of CompletionServiceClient.

Parameter
NameDescription
opts ClientOptions

Properties

apiEndpoint

static get apiEndpoint(): string;

The DNS address for this API service - same as servicePath(), exists for compatibility reasons.

auth

auth: gax.GoogleAuth;

completionServiceStub

completionServiceStub?: Promise<{
        [name: string]: Function;
    }>;

descriptors

descriptors: Descriptors;

innerApiCalls

innerApiCalls: {
        [name: string]: Function;
    };

operationsClient

operationsClient: gax.OperationsClient;

pathTemplates

pathTemplates: {
        [name: string]: gax.PathTemplate;
    };

port

static get port(): number;

The port for this API service.

scopes

static get scopes(): string[];

The scopes needed to make gRPC calls for every method defined in this service.

servicePath

static get servicePath(): string;

The DNS address for this API service.

warn

warn: (code: string, message: string, warnType?: string) => void;

Methods

catalogPath(project, location, catalog)

catalogPath(project: string, location: string, catalog: string): string;

Return a fully-qualified catalog resource name string.

Parameters
NameDescription
project string
location string
catalog string
Returns
TypeDescription
string

{string} Resource name string.

checkImportCompletionDataProgress(name)

checkImportCompletionDataProgress(name: string): Promise<LROperation<protos.google.cloud.retail.v2.ImportCompletionDataResponse, protos.google.cloud.retail.v2.ImportMetadata>>;

Check the status of the long running operation returned by importCompletionData().

Parameter
NameDescription
name string

The operation name that will be passed.

Returns
TypeDescription
Promise<LROperation<protos.google.cloud.retail.v2.ImportCompletionDataResponse, protos.google.cloud.retail.v2.ImportMetadata>>

{Promise} - The promise which resolves to an object. The decoded operation object has result and metadata field to get information from. Please see the [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) for more details and examples.

Example

  /**
   * TODO(developer): Uncomment these variables before running the sample.
   */
  /**
   *  Required. The catalog which the suggestions dataset belongs to.
   *  Format: `projects/1234/locations/global/catalogs/default_catalog`.
   */
  // const parent = 'abc123'
  /**
   *  Required. The desired input location of the data.
   */
  // const inputConfig = {}
  /**
   *  Pub/Sub topic for receiving notification. If this field is set,
   *  when the import is finished, a notification will be sent to
   *  specified Pub/Sub topic. The message data will be JSON string of a
   *  Operation google.longrunning.Operation.
   *  Format of the Pub/Sub topic is `projects/{project}/topics/{topic}`.
   */
  // const notificationPubsubTopic = 'abc123'

  // Imports the Retail library
  const {CompletionServiceClient} = require('@google-cloud/retail').v2;

  // Instantiates a client
  const retailClient = new CompletionServiceClient();

  async function callImportCompletionData() {
    // Construct request
    const request = {
      parent,
      inputConfig,
    };

    // Run request
    const [operation] = await retailClient.importCompletionData(request);
    const [response] = await operation.promise();
    console.log(response);
  }

  callImportCompletionData();

close()

close(): Promise<void>;

Terminate the gRPC channel and close the client.

The client will no longer be usable and all future behavior is undefined.

Returns
TypeDescription
Promise<void>

{Promise} A promise that resolves when the client is closed.

completeQuery(request, options)

completeQuery(request?: protos.google.cloud.retail.v2.ICompleteQueryRequest, options?: CallOptions): Promise<[
        protos.google.cloud.retail.v2.ICompleteQueryResponse,
        protos.google.cloud.retail.v2.ICompleteQueryRequest | undefined,
        {} | undefined
    ]>;

Completes the specified prefix with keyword suggestions.

This feature is only available for users who have Retail Search enabled. Please enable Retail Search on Cloud Console before using this feature.

Parameters
NameDescription
request protos.google.cloud.retail.v2.ICompleteQueryRequest

The request object that will be sent.

options CallOptions

Call options. See CallOptions for more details.

Returns
TypeDescription
Promise<[ protos.google.cloud.retail.v2.ICompleteQueryResponse, protos.google.cloud.retail.v2.ICompleteQueryRequest | undefined, {} | undefined ]>

{Promise} - The promise which resolves to an array. The first element of the array is an object representing [CompleteQueryResponse]. Please see the [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) for more details and examples.

Example

  /**
   * TODO(developer): Uncomment these variables before running the sample.
   */
  /**
   *  Required. Catalog for which the completion is performed.
   *  Full resource name of catalog, such as
   *  `projects/* /locations/global/catalogs/default_catalog`.
   */
  // const catalog = 'abc123'
  /**
   *  Required. The query used to generate suggestions.
   *  The maximum number of allowed characters is 255.
   */
  // const query = 'abc123'
  /**
   *  Required 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.
   */
  // const visitorId = 'abc123'
  /**
   *  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 (https://tools.ietf.org/html/bcp47). The maximum
   *  number of language codes is 3.
   */
  // const languageCodes = 'abc123'
  /**
   *  The device type context for completion suggestions.
   *  It is useful to 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`.
   */
  // const deviceType = 'abc123'
  /**
   *  Determines which dataset to use for fetching completion. "user-data" will
   *  use the imported dataset through
   *  CompletionService.ImportCompletionData google.cloud.retail.v2.CompletionService.ImportCompletionData.
   *  "cloud-retail" will use the dataset generated by cloud retail based on user
   *  events. If leave empty, it will use the "user-data".
   *  Current supported values:
   *  * user-data
   *  * cloud-retail:
   *    This option requires enabling auto-learning function first. See
   *    guidelines (https://cloud.google.com/retail/docs/completion-overview#generated-completion-dataset).
   */
  // const dataset = 'abc123'
  /**
   *  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.
   */
  // const maxSuggestions = 1234

  // Imports the Retail library
  const {CompletionServiceClient} = require('@google-cloud/retail').v2;

  // Instantiates a client
  const retailClient = new CompletionServiceClient();

  async function callCompleteQuery() {
    // Construct request
    const request = {
      catalog,
      query,
    };

    // Run request
    const response = await retailClient.completeQuery(request);
    console.log(response);
  }

  callCompleteQuery();

completeQuery(request, options, callback)

completeQuery(request: protos.google.cloud.retail.v2.ICompleteQueryRequest, options: CallOptions, callback: Callback<protos.google.cloud.retail.v2.ICompleteQueryResponse, protos.google.cloud.retail.v2.ICompleteQueryRequest | null | undefined, {} | null | undefined>): void;
Parameters
NameDescription
request protos.google.cloud.retail.v2.ICompleteQueryRequest
options CallOptions
callback Callback<protos.google.cloud.retail.v2.ICompleteQueryResponse, protos.google.cloud.retail.v2.ICompleteQueryRequest | null | undefined, {} | null | undefined>
Returns
TypeDescription
void

completeQuery(request, callback)

completeQuery(request: protos.google.cloud.retail.v2.ICompleteQueryRequest, callback: Callback<protos.google.cloud.retail.v2.ICompleteQueryResponse, protos.google.cloud.retail.v2.ICompleteQueryRequest | null | undefined, {} | null | undefined>): void;
Parameters
NameDescription
request protos.google.cloud.retail.v2.ICompleteQueryRequest
callback Callback<protos.google.cloud.retail.v2.ICompleteQueryResponse, protos.google.cloud.retail.v2.ICompleteQueryRequest | null | undefined, {} | null | undefined>
Returns
TypeDescription
void

getProjectId()

getProjectId(): Promise<string>;
Returns
TypeDescription
Promise<string>

getProjectId(callback)

getProjectId(callback: Callback<string, undefined, undefined>): void;
Parameter
NameDescription
callback Callback<string, undefined, undefined>
Returns
TypeDescription
void

importCompletionData(request, options)

importCompletionData(request?: protos.google.cloud.retail.v2.IImportCompletionDataRequest, options?: CallOptions): Promise<[
        LROperation<protos.google.cloud.retail.v2.IImportCompletionDataResponse, protos.google.cloud.retail.v2.IImportMetadata>,
        protos.google.longrunning.IOperation | undefined,
        {} | undefined
    ]>;

Bulk import of processed completion dataset.

Request processing is asynchronous. Partial updating is not supported.

The operation is successfully finished only after the imported suggestions are indexed successfully and ready for serving. The process takes hours.

This feature is only available for users who have Retail Search enabled. Please enable Retail Search on Cloud Console before using this feature.

Parameters
NameDescription
request protos.google.cloud.retail.v2.IImportCompletionDataRequest

The request object that will be sent.

options CallOptions

Call options. See CallOptions for more details.

Returns
TypeDescription
Promise<[ LROperation<protos.google.cloud.retail.v2.IImportCompletionDataResponse, protos.google.cloud.retail.v2.IImportMetadata>, protos.google.longrunning.IOperation | undefined, {} | undefined ]>

{Promise} - The promise which resolves to an array. The first element of the array is an object representing a long running operation. Its promise() method returns a promise you can await for. Please see the [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) for more details and examples.

Example

  /**
   * TODO(developer): Uncomment these variables before running the sample.
   */
  /**
   *  Required. The catalog which the suggestions dataset belongs to.
   *  Format: `projects/1234/locations/global/catalogs/default_catalog`.
   */
  // const parent = 'abc123'
  /**
   *  Required. The desired input location of the data.
   */
  // const inputConfig = {}
  /**
   *  Pub/Sub topic for receiving notification. If this field is set,
   *  when the import is finished, a notification will be sent to
   *  specified Pub/Sub topic. The message data will be JSON string of a
   *  Operation google.longrunning.Operation.
   *  Format of the Pub/Sub topic is `projects/{project}/topics/{topic}`.
   */
  // const notificationPubsubTopic = 'abc123'

  // Imports the Retail library
  const {CompletionServiceClient} = require('@google-cloud/retail').v2;

  // Instantiates a client
  const retailClient = new CompletionServiceClient();

  async function callImportCompletionData() {
    // Construct request
    const request = {
      parent,
      inputConfig,
    };

    // Run request
    const [operation] = await retailClient.importCompletionData(request);
    const [response] = await operation.promise();
    console.log(response);
  }

  callImportCompletionData();

importCompletionData(request, options, callback)

importCompletionData(request: protos.google.cloud.retail.v2.IImportCompletionDataRequest, options: CallOptions, callback: Callback<LROperation<protos.google.cloud.retail.v2.IImportCompletionDataResponse, protos.google.cloud.retail.v2.IImportMetadata>, protos.google.longrunning.IOperation | null | undefined, {} | null | undefined>): void;
Parameters
NameDescription
request protos.google.cloud.retail.v2.IImportCompletionDataRequest
options CallOptions
callback Callback<LROperation<protos.google.cloud.retail.v2.IImportCompletionDataResponse, protos.google.cloud.retail.v2.IImportMetadata>, protos.google.longrunning.IOperation | null | undefined, {} | null | undefined>
Returns
TypeDescription
void

importCompletionData(request, callback)

importCompletionData(request: protos.google.cloud.retail.v2.IImportCompletionDataRequest, callback: Callback<LROperation<protos.google.cloud.retail.v2.IImportCompletionDataResponse, protos.google.cloud.retail.v2.IImportMetadata>, protos.google.longrunning.IOperation | null | undefined, {} | null | undefined>): void;
Parameters
NameDescription
request protos.google.cloud.retail.v2.IImportCompletionDataRequest
callback Callback<LROperation<protos.google.cloud.retail.v2.IImportCompletionDataResponse, protos.google.cloud.retail.v2.IImportMetadata>, protos.google.longrunning.IOperation | null | undefined, {} | null | undefined>
Returns
TypeDescription
void

initialize()

initialize(): Promise<{
        [name: string]: Function;
    }>;

Initialize the client. Performs asynchronous operations (such as authentication) and prepares the client. This function will be called automatically when any class method is called for the first time, but if you need to initialize it before calling an actual method, feel free to call initialize() directly.

You can await on this method if you want to make sure the client is initialized.

Returns
TypeDescription
Promise<{ [name: string]: Function; }>

{Promise} A promise that resolves to an authenticated service stub.

matchBranchFromProductName(productName)

matchBranchFromProductName(productName: string): string | number;

Parse the branch from Product resource.

Parameter
NameDescription
productName string

A fully-qualified path representing Product resource.

Returns
TypeDescription
string | number

{string} A string representing the branch.

matchCatalogFromCatalogName(catalogName)

matchCatalogFromCatalogName(catalogName: string): string | number;

Parse the catalog from Catalog resource.

Parameter
NameDescription
catalogName string

A fully-qualified path representing Catalog resource.

Returns
TypeDescription
string | number

{string} A string representing the catalog.

matchCatalogFromProductName(productName)

matchCatalogFromProductName(productName: string): string | number;

Parse the catalog from Product resource.

Parameter
NameDescription
productName string

A fully-qualified path representing Product resource.

Returns
TypeDescription
string | number

{string} A string representing the catalog.

matchLocationFromCatalogName(catalogName)

matchLocationFromCatalogName(catalogName: string): string | number;

Parse the location from Catalog resource.

Parameter
NameDescription
catalogName string

A fully-qualified path representing Catalog resource.

Returns
TypeDescription
string | number

{string} A string representing the location.

matchLocationFromProductName(productName)

matchLocationFromProductName(productName: string): string | number;

Parse the location from Product resource.

Parameter
NameDescription
productName string

A fully-qualified path representing Product resource.

Returns
TypeDescription
string | number

{string} A string representing the location.

matchProductFromProductName(productName)

matchProductFromProductName(productName: string): string | number;

Parse the product from Product resource.

Parameter
NameDescription
productName string

A fully-qualified path representing Product resource.

Returns
TypeDescription
string | number

{string} A string representing the product.

matchProjectFromCatalogName(catalogName)

matchProjectFromCatalogName(catalogName: string): string | number;

Parse the project from Catalog resource.

Parameter
NameDescription
catalogName string

A fully-qualified path representing Catalog resource.

Returns
TypeDescription
string | number

{string} A string representing the project.

matchProjectFromProductName(productName)

matchProjectFromProductName(productName: string): string | number;

Parse the project from Product resource.

Parameter
NameDescription
productName string

A fully-qualified path representing Product resource.

Returns
TypeDescription
string | number

{string} A string representing the project.

productPath(project, location, catalog, branch, product)

productPath(project: string, location: string, catalog: string, branch: string, product: string): string;

Return a fully-qualified product resource name string.

Parameters
NameDescription
project string
location string
catalog string
branch string
product string
Returns
TypeDescription
string

{string} Resource name string.