Search
Perform a personalized, typo-correcting, semantic search.
Syntax
const response = await client.api.search.search(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_idis always included.
When not specified, onlyproduct_idwill 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 | 
|---|---|---|
| products | array of objects | An array of Product records. Use flparameter to specify what fields are returned. | 
| start | integer | The offset of records to retrieve.
Default: 0. | 
| total | integer | The total number of matched records. | 
Examples
const payload = {
  q: 'doge',
  fl: ['title', 'sale_price', 'custom_attributes.*']
};
const { products } = await client.api.search.search(payload);