You can add custom configuration to the module like following:
export default defineNuxtConfig({ modules: ['@nuxtjs/algolia'], algolia: { // options }})Or
export default defineNuxtConfig({ modules: [ ['@nuxtjs/algolia', { // options }] ]})Defaults:
{ apiKey: '<YOUR_SEARCH_API_KEY>', applicationId: '<YOUR_APPLICATION_ID>', globalIndex: '', lite: true, cache: false, instantSearch: true, useFetch: false, crawler: { apiKey: '<YOUR_API_KEY>', indexName: '<YOUR_INDEX_NAME>', meta: ['title', 'description'], include: () => true }, recommend: true, indexer: { storyblok: { secret: 'INDEXER_SECRET', algoliaAdminApiKey: 'ALGOLIA_ADMIN_KEY', indexName: 'ALGOLIA_INDEX_NAME', accessToken: 'STORYBLOK_ACCESS_TOKEN', contentVersion: 'draft' } }}For storing sensitive data such as API keys or Application ID variables we recommend using environment variables (apiKey is ALGOLIA_API_KEY and applicationId is ALGOLIA_APPLICATION_ID) that can later be loaded to Nuxt runtime config. Check out more here.
apiKeyThis is the public API key to use in your frontend code. This key is only usable for search queries and sending data to the Insights API.
applicationIdThis is your unique application identifier. It's used to identify you when using Algolia's API.
globalIndexBy default set to empty string. When set in the configuration object, it will use this index name for all useAlgoliaSearch composables. Then, you do not need to pass the index name as a parameter of this composable.
liteBy default set to true. Indicates whether to use 'algoliasearch-lite' or normal 'algoliasearch' package. Depending on your needs, if you only need to search you can set this option to true or do not set any option (it is by default true). But if you need more advances functionalities like multi queries, indexing, etc, you can set it to false to load full algoliasearch client.
cacheBy default set to false. The client caches requests to Algolia and their responses.
useFetchBy default set to false. If set to true, it will use @algolia/requester-fetch instead of @algolia/requester-node-http. This enables SSR-support for using this module in V8-based environments like Vercel Edge, Cloudflare Workers etc.
instantSearchBy default set to false. Indicates whether to install the official vue-instantsearch plugin. This option can also be an object (see below).
instantSearch.themeBy default set to satellite. Indicates which CSS theme to use for the vue-instantsearch plugin. Valid values are satellite, reset or algolia.
crawlerIndicates whether you would like the module to automatically index your pages when using Nuxt static site generation. Both the apiKey and the indexName need to be set for this feature to be enabled.
crawler.apiKeyBy default this option is not set. This is your private API key to use in your backend code. This key is used to update your Algolia index. DO NOT USE YOUR ADMIN KEY! Instead use your admin key to generate another limited key with at least the addObject and deleteObject rights.
crawler.indexNameBy default this option is not set. This is the name of your Algolia index that will store all your pages' metadata.
crawler.metaBy default this option is set to ['title', 'description']. This is the list of metafields that you would like to store when indexing a page. It can either be an array of fields or a function that returns an object of fields. The function should return a string and can be asynchronous.
{ ... meta: ['title', 'description', 'lang']}crawler.includeBy default this option is not set. This option is used to filter the pages that you would like to index by their route. It can either be an array of strings and/or regular expressions, or a function that should return a boolean. If the option is undefined, then all pages are indexed (default).
{ ... include: ['/foo', /^(?!\/?admin).+/]}recommendWhen set to true it will import the @algolia/recommend library used for useAlgoliaRecommend composable to get the recommendations based on certain criteria.
indexerConfiguration for automatic indexing of Algolia index by external Content Management System or another source. For now it supports only Storyblok but will support more in the future.
indexer.storyblokConfiguration object for using Storyblok as CMS provider in automatic indexing.
secret used to verify if an automatic indexing can be triggered. It is a HTTP query sent via GET request and validated with a private runtime config property. Remember to add it to your webhook configuration.algoliaAdminApiKey used to populate Algolia index programatically.indexName name of the Algolia index that will be populated after the indexing.accessToken to Storyblok space.