Retrieving facets
To retrieve facets and their respective counts as part of the JSON response, you must specify a list of facets in the facets parameter at query time.
For example, you can retrieve your books' facets with the search
method, and the facets
parameter.
When the
facets
parameter is empty, the engine returns no facet information.
- JavaScript
- PHP
- Java
js
await client.search({requests: [{indexName: '<YOUR_INDEX_NAME>',query: '<YOUR_QUERY>',facets: ['author', 'genre'],},],});
js
await client.search({requests: [{indexName: '<YOUR_INDEX_NAME>',query: '<YOUR_QUERY>',facets: ['author', 'genre'],},],});
To extract all facet information, you can use a wildcard (*
).
js
await client.search({requests: [{indexName: '<YOUR_INDEX_NAME>',query: '<YOUR_QUERY>',facets: ['*'],},],});
js
await client.search({requests: [{indexName: '<YOUR_INDEX_NAME>',query: '<YOUR_QUERY>',facets: ['*'],},],});
php
$client->search(['requests' => [['indexName' => '<YOUR_INDEX_NAME>','query' => '<YOUR_QUERY>','facets' => ['author', 'genre'],],],]);
php
$client->search(['requests' => [['indexName' => '<YOUR_INDEX_NAME>','query' => '<YOUR_QUERY>','facets' => ['author', 'genre'],],],]);
To extract all facet information, you can use a wildcard (*
).
php
$client->search(['requests' => [['indexName' => '<YOUR_INDEX_NAME>','query' => '<YOUR_QUERY>','facets' => ['*'],],],]);
php
$client->search(['requests' => [['indexName' => '<YOUR_INDEX_NAME>','query' => '<YOUR_QUERY>','facets' => ['*'],],],]);
java
import com.algolia.model.search.*;client.search(new SearchMethodParams().addRequests(SearchQuery.of(new SearchForFacets().setIndexName("<YOUR_INDEX_NAME>").setQuery("<YOUR_QUERY>").addFacets("author").addFacets("genre"))),MyObject.class);
java
import com.algolia.model.search.*;client.search(new SearchMethodParams().addRequests(SearchQuery.of(new SearchForFacets().setIndexName("<YOUR_INDEX_NAME>").setQuery("<YOUR_QUERY>").addFacets("author").addFacets("genre"))),MyObject.class);
To extract all facet information, you can use a wildcard (*
).
java
import com.algolia.model.search.*;client.search(new SearchMethodParams().addRequests(SearchQuery.of(new SearchForFacets().setIndexName("<YOUR_INDEX_NAME>").setQuery("<YOUR_QUERY>").addFacets("*"))),MyObject.class);
java
import com.algolia.model.search.*;client.search(new SearchMethodParams().addRequests(SearchQuery.of(new SearchForFacets().setIndexName("<YOUR_INDEX_NAME>").setQuery("<YOUR_QUERY>").addFacets("*"))),MyObject.class);