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) {
// ...
}