Disable features
Disabling features allows faster queries
Parameters
A single disable parameter allows disabling specific features, based on their name.
Name
Type
Is Required ?
Default value
disable
array
✖
empty array
disable
disableAn array of JSON objects, each representing a feature to disable during the query resolution. Each object contains the following properties:
name
string
Name of the feature to disable
"disable": [
{
"name": "feature-to-disable"
},
...
]type DisableOptions = { name: string }[];Available features
Faceting
"facet"
Prevent XO Search from grouping results by facets, even if some facets are defined inside the XO Console.
Note: If the query contains facets to filter by, these filters will still be applied.
Notes
Currently, only the
"facet"feature can be disabled.
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
Disable faceting in the results (ie.
response.metadata.facetswill be an empty array, no matter what is defined in the XO Console)
NodeJS / NPM example
import { search } from '@attraqt/search';
const query = 'T-shirt';
search.init({ token: SEARCH_API_TOKEN });
const response = await search.query(query, {
disable: [{ name: 'facet' }]
});
console.log(response);HTML example
<script type="text/javascript">
xo.init({
search: {
token: SEARCH_API_TOKEN
}
});
xo.search.query('T-Shirt', {
disable: [{ name: 'facet' }]
}).then((response) => {
console.log(response);
});
</script>HTTP example
POST https://api-eu.attraqt.io/search HTTP/1.1
Content-Type: application/json; charset=UTF-8
{
"token": "SEARCH_API_TOKEN",
"query": "T-Shirt",
"options": {
"disable": [
{
"name": "facet"
}
]
}
}curl example
curl -d "{\"token\":\"${SEARCH_API_TOKEN}\", \"query\":\"T-Shirt\", \"options\":{\"disable\":[{\"name\":\"facet\"}]}}" \
-H "Content-Type: application/json; charset=UTF-8" \
-X POST "https://api-eu.attraqt.io/search"JavaScript example
const response = await fetch('https://api-eu.attraqt.io/search', {
method: 'POST',
headers: {
'Content-Type': 'application/json; charset=UTF-8'
},
body: JSON.stringify({
token: SEARCH_API_TOKEN,
query: 'T-Shirt',
options: {
disable: [{ name: 'facet' }]
}
})
});
if (response.ok) {
console.log(await response.json());
}HTTP example
GET https://api-eu.attraqt.io/search/:token?encoded=:encodedParams HTTP/1.1curl example
curl "https://api-eu.attraqt.io/search/${SEARCH_API_TOKEN}?encoded=%7B%22query%22%3A%22T-Shirt%22%2C%20%22options%22%3A%7B%22disable%22%3A%5B%7B%22name%22%3A%22facet%22%7D%5D%7D%7D"JavaScript example
const token = SEARCH_API_TOKEN;
const params = encodeURIComponent(JSON.stringify({
query: 'T-shirt',
options: {
disable: [{ name: 'facet' }]
}
}));
const response = await fetch(
`https://api-eu.attraqt.io/search/${token}?encoded=${params}`
);
if (response.ok) {
console.log(await response.json());
}Last updated

