@attraqt/search
v2.0.0
Published
Use `@attraqt/search` to search through items using the XO platform.
Readme
@attraqt/search
Use @attraqt/search to search through items using the XO platform.
Installation and Usage
npm install --save @attraqt/searchimport { 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);
const autocompleteResponse = await xo.search.autocomplete('T-Shirt', {
numberOfSuggestions: 5
});
console.log(autocompleteResponse.suggestions);
console.log(autocompleteResponse.metadata);Methods
| Method | Argument(s) | Result | Description |
| ------------ | ---------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------- | ----------------------------------------- |
| init | options: SearchInitOptions | void | Initializes the search client |
| query | query: string, options?: SearchItemOptions, requestOptions?: SearchRequestOptions | Promise<SearchResponse> | Searches for items |
| suggest | query: string, options?: SearchGroupOptions, requestOptions?: SearchRequestOptions | Promise<SearchResponse> | Suggest and group a selection of items |
| autocomplete | query: string, options?: AutocompleteOptions, requestOptions?: SearchRequestOptions | Promise<AutocompleteResponse> | Autocomplete a query, and get suggestions |
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 |
Autocomplete options
All options are optional.
| Option | Type | Description |
| --------------------- | -------- | ------------------------------------------- |
| numberOfSuggestions | number | Number of suggestions to get. Default is 10 |
Regions
The following table lists the name and code of each Region.
| Region name | Code | | ------------- | ---- | | Australia | AU | | Europe | EU | | United States | US |
