Skip to main content
The getAlgoliaResults function lets you query one or several Algolia indices. Using getAlgoliaResults 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.

Example

This example uses the function along with the algoliasearch API client.
JavaScript
import { liteClient as algoliasearch } from "algoliasearch/lite";
import { autocomplete, getAlgoliaResults } from "@algolia/autocomplete-js";

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

autocomplete({
  // ...
  getSources({ query }) {
    return [
      {
        sourceId: "products",
        getItems({ query }) {
          return getAlgoliaResults({
            searchClient,
            queries: [
              {
                indexName: "instant_search",
                params: {
                  query,
                  hitsPerPage: 5,
                },
              },
            ],
          });
        },
        // ...
      },
    ];
  },
});
When using getAlgoliaFacets and getAlgoliaResults with the same search client in different sources or plugins, Autocomplete batches all queries into a single network call to Algolia. If you’re using the same search client for different sources or plugins, make sure to use the same instance to leverage the internal cache and batching mechanism.

Parameters

searchClient
SearchClient
required
The initialized Algolia search client.
queries
MultipleQueriesQuery[]
required
The queries to perform.

Returns

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