diff --git a/mint.json b/mint.json index 704c3ca6..ecc3b07e 100644 --- a/mint.json +++ b/mint.json @@ -1464,7 +1464,10 @@ } ] }, - + { + "group": "Integrations", + "pages": ["search/integrations/docusaurus"] + }, { "group": "Help", "pages": ["search/help/faq"] diff --git a/search/integrations/docusaurus.mdx b/search/integrations/docusaurus.mdx new file mode 100644 index 00000000..6e905825 --- /dev/null +++ b/search/integrations/docusaurus.mdx @@ -0,0 +1,75 @@ +--- +title: Docusaurus Integration +description: AI-powered search component for Docusaurus using Upstash Search. +--- + +## Features + +- 🤖 AI-powered search results based on your documentation +- 🎨 Modern and responsive UI +- 🌜 Dark/Light mode support + +## Installation + +To install the package, run: + +```bash +npm install @upstash/docusaurus-theme-upstash-search +``` + +## Configuration + +### Enabling the Searchbar + +To enable the searchbar, add the following to your docusaurus config file: + +```js +export default { + themes: ['@upstash/docusaurus-theme-upstash-search'], + // ... + themeConfig: { + // ... + upstash: { + upstashSearchRestUrl: "UPSTASH_SEARCH_REST_URL", + upstashSearchReadOnlyRestToken: "UPSTASH_SEARCH_READ_ONLY_REST_TOKEN", + upstashSearchIndexName: "UPSTASH_SEARCH_INDEX_NAME", + }, + }, +}; +``` + +The default index name is `docusaurus`. You can override it by setting the `upstashSearchIndexName` option. + +You can fetch your URL and read only token from [Upstash Console](https://console.upstash.com/search). **Make sure to use the read only token!** + +If you do not have a search database yet, you can create one from [Upstash Console](https://console.upstash.com/search). Make sure to use Upstash generated embedding model. + +## Indexing Your Documentation + +### Setting Up Environment Variables + +To index your documentation, create a `.env` file with the following environment variables: + +```bash +UPSTASH_SEARCH_REST_URL= +UPSTASH_SEARCH_REST_TOKEN= +UPSTASH_SEARCH_INDEX_NAME= +DOCS_PATH= +``` + +You can fetch your URL and token from [Upstash Console](https://console.upstash.com/search). This time **do not use the read only token** since we are upserting data. + +### Running the Indexing Script + +After setting up your environment variables, run the indexing command: + +```bash +npx index-docs-upstash +``` + +### Configuration Options + +- **DOCS_PATH**: The indexing script looks for documentation in the `docs` directory by default. You can specify a different path using the `DOCS_PATH` option. +- **UPSTASH_SEARCH_INDEX_NAME**: The default index name is `docusaurus`. You can override it by setting the `UPSTASH_SEARCH_INDEX_NAME` option. Make sure the name you set while indexing matches with your themeConfig `upstashSearchIndexName` option. + +For more details on how this integration works, check out [the official repository](https://github.com/upstash/docusaurus-theme-upstash-search).