Autocomplete

Provides real-time, personalized, typo resistant typeahead for your search bar.


Syntax

const response = await client.api.search.autocomplete(payload, options);

Payload

The payload parameter is an object with the following properties:

Name Type Description
engine_id string The engine you want to get results from. If not specified, the default engine will be used.
q string Required. The search query the user has entered. Must be non-empty.
fq string A query string in Solr syntax which restricts the superset of products to return, without influencing the overall ranking.
fl array of strings List of fields to retrieve. The field product_id is always included. When not specified, only product_id will be retrieved. You can retrieve all fields with ["*"]. Default: ["*"].
type string Specify the type of product to return.
start integer The offset of records to retrieve. Default: 0.
rows integer Number of records to retrieve. Default: 5.

Options

The options parameter is an optional object with the following properties:

Name Type Description
timeout integer Request timeout in milliseconds.
bulk boolean Bulked API requests froms the same event loop is packed into a single HTTP request. Default: false.

See the request options page for more details.

Return value

A Promise of response object with the following properties:

Name Type Description
completions object An object of autocompletion information.
start integer The offset of records to retrieve. Default: 0.
total integer The total number of matched records.

Examples

const payload = {
q: 'shiba ',
fl: ['title', 'sale_price'],
completion_fields: ['title', 'tags', 'custom_attributes.author']
};
const { completions } = await client.api.search.autocomplete(payload);
for (const { text, text_with_markups, product } of completions.title) {
// ...
}

Learn more