Skip to main content
The getAlgoliaFacets function lets you query facet hits from one or several Algolia indices. Using getAlgoliaFacets lets Autocomplete batch all queries using the same search client into a single network call, and thus minimize search unit consumption. It also works out of the box with the components exposed in templates.
If you’re using autocomplete-js, you don’t need to import the preset separately. The package includes all Algolia utilities, with the appropriate user agents and virtual DOM support.

Installation

First, you need to install the preset.
npm install @algolia/autocomplete-preset-algolia
Then import it in your project:
JavaScript
import { getAlgoliaFacets } from "@algolia/autocomplete-preset-algolia";
If you don’t use a package manager, you can use the HTML script element:
HTML
<script
  src="https://cdn.jsdelivr.net/npm/@algolia/autocomplete-preset-algolia@1.19.4/dist/umd/index.production.js"
  integrity="hqqZsgytphUhmmnnfNd/A5wjXf0y4hifZNUTpRvy0wM="
  crossorigin="anonymous"
></script>
<script>
  const { getFacetResults } = window["@algolia/autocomplete-preset-algolia"];
</script>

Example

JavaScript
import { liteClient as algoliasearch } from "algoliasearch/lite";
import { createAutocomplete } from "@algolia/autocomplete-core";
import { getAlgoliaResults } from "@algolia/autocomplete-preset-algolia";

const searchClient = algoliasearch(
  "latency",
  "6be0576ff61c053d5f9a3225e2a90f76",
);

const autocomplete = createAutocomplete({
  // ...
  getSources() {
    return [
      {
        sourceId: "categories",
        getItems({ query }) {
          return getAlgoliaFacets({
            searchClient,
            queries: [
              {
                indexName: "instant_search",
                facet: "categories",
                params: {
                  facetQuery: query,
                  maxFacetHits: 10,
                },
              },
            ],
          });
        },
        // ...
      },
    ];
  },
});

Parameters

searchClient
SearchClient
required
The initialized Algolia search client.
queries
FacetQuery[]
required
The queries to search for.

Returns

The function returns:
TypeScript
{
  searchClient: SearchClient;
  queries: MultipleQueriesQuery[];
  transformResponse: TransformResponse<THit>;
  execute: Execute<THit>;
}
I