Grouping
Group results by values of a specified attribute
This feature is only available for the Product Suggest API
Parameters
The groupBy parameter allows to group the results by values of any single-valued facetable attribute. Each value will return a group of items containing this value.
Name
Type
Is Required ?
groupBy
GroupOptions
✅
groupBy
groupByGrouping options, must be a JSON object with the following properties:
attribute
string
Name of the attribute used for grouping
values
list of string
List of values (of the attribute) to group by
size
integer
Size of each group. Must be between 1 and 100 (inclusive)
Notes
The maximum number of items returned is 100, no matter the
sizeor number ofvalues. For example, requesting 50valueswithsize5 will return only 2 items per group (and 50 groups)attributemust be a single-valued facetable attribute. Lists and sets attributes can't be used for grouping
Response
All responses from XO Search uses the same format. Check API Reference page for a more detailed description of this format.
API ReferenceUsage example
Group results by 2 different
kind:"box"and"product"
NodeJS / NPM example
import { search } from '@attraqt/search';
const query = 'T-shirt';
search.init({ token: SEARCH_API_TOKEN });
const response = await search.suggest(query, {
groupBy: {
attribute: 'kind',
size: 5,
values: ['product', 'box']
}
});
console.log(response);HTML example
<script type="text/javascript">
xo.init({
search: {
token: 'SEARCH_API_TOKEN'
}
});
xo.search.suggest('T-Shirt', {
groupBy: {
attribute: 'kind',
size: 5,
values: ['product', 'box']
}
}).then((response) => {
console.log(response);
});
</script>HTTP example
POST https://api-eu.attraqt.io/search/suggest HTTP/1.1
Content-Type: application/json; charset=UTF-8
{
"token": "SEARCH_API_TOKEN",
"query": "T-Shirt",
"options": {
"groupBy": {
"attribute": "kind",
"size": 5,
"values": ["product", "box"]
}
}
}curl example
curl -d "{\"token\":\"${SEARCH_API_TOKEN}\", \"query\":\"T-Shirt\", \"options\":{\"groupBy\":{\"attribute\":\"kind\",\"size\":5,\"values\":[\"product\",\"box\"]}}}}" \
-H "Content-Type: application/json; charset=UTF-8" \
-X POST "https://api-eu.attraqt.io/search/suggest"JavaScript example
const response = await fetch('https://api-eu.attraqt.io/search/suggest', {
method: 'POST',
headers: {
'Content-Type': 'application/json; charset=UTF-8'
},
body: JSON.stringify({
token: SEARCH_API_TOKEN,
query: 'T-Shirt',
options: {
groupBy: {
attribute: 'kind',
size: 5,
values: ['product', 'box']
}
}
})
});
if (response.ok) {
console.log(await response.json());
}Last updated

