README
@attraqt/search
Use @attraqt/search to search through items using the XO platform.
Installation and Usage
npm install --save @attraqt/search
import { search } from '@attraqt/search';
search.init({
token: 'SEARCH_API_TOKEN'
});
const searchResponse = await search.query('T-Shirt', {
offset: 10,
limit: 30,
filter: 'price < 50'
});
console.log(searchResponse.items);
console.log(searchResponse.metadata);
const suggestResponse = await xo.search.suggest('T-Shirt', {
filter: 'price < 50',
groupBy: {
attribute: 'kind',
count: 10,
values: ['product', 'shops', 'ads']
}
});
console.log(suggestResponse.items);
console.log(suggestResponse.metadata);
Methods
| Method | Argument(s) | Result | Description |
|---|---|---|---|
| init | options: SearchInitOptions |
void |
Initializes the search client |
| query | query: string, options?: SearchOptions, requestOptions?: SearchRequestOptions |
Promise<SearchResponse> |
Searches for items |
| suggest | query: string, options?: ProductSuggestOptions, requestOptions?: SearchRequestOptions |
Promise<ProductSuggestResponse> |
Suggest and group a selection of items |
Search Init Options
Properties to initialize the search component.
| Option | Type | Description |
|---|---|---|
token |
string |
Required: Your unique token provided by Attraqt |
region? |
Region |
Optional: Region where you need to use the service. If an invalid or no region is selected then EU will be used. |
Search options
All options are optional.
| Option | Type | Description |
|---|---|---|
limit |
number |
Pagination: Size of a page |
offset |
number |
Pagination: Index of the first item to fetch |
filter |
string |
Filter query string |
sortBy |
SortOptions[] |
Sort options, evaluated in order of appearance |
facets |
FacetRequestOptions[] |
Facets filters to apply to the query |
customResponseMask |
string |
Custom response mask. Allows to fetch only specific field from the catalog |
disable |
DisableOptions[] |
Features to disable for this query |
Suggest options
All options are optional.
| Option | Type | Description |
|---|---|---|
filter |
string |
Filter query string |
sortBy |
SortOptions[] |
Sort options, evaluated in order of appearance |
customResponseMask |
string |
Custom response mask. Allows to fetch only specific field from the catalog |
groupBy |
GroupOptions |
Group result by an attribute and its specified values |
Regions
The following table lists the name and code of each Region.
| Region name | Code |
|---|---|
| Australia | AU |
| Europe | EU |
| United States | US |