Search Firestore with Typesense
Made by Typesense
Indexes data from Firestore into Typesense for full-text search
How this extension works
Use this extension to sync data from your Firestore collection to Typesense, to be able to do full-text fuzzy search on your Firestore data.
This extension listens to your specified Firestore collection and syncs Firestore documents to Typesense on creation, updates and deletes. It also provides a function to help you backfill data.
Before installing this extension, make sure that you have:
- Set up a Cloud Firestore database in your Firebase project.
- Setup a Typesense cluster (on Typesense Cloud or a Self-Hosted server).
- Setup a Typesense Collection either through the Typesense Cloud dashboard or through the API.
This extension will sync changes that happen after you've installed the extension. You'll be able to run a function to backfill existing data in your Firestore collection. Detailed information for running this backfill function will be provided after you install this extension.
To install an extension, your project must be on the Blaze (pay as you go) plan
- You will be charged a small amount (typically around $0.01/month) for the Firebase resources required by this extension (even if it is not used).
- This extension uses other Firebase and Google Cloud Platform services, which have associated charges if you exceed the service's no-cost tier:
- Cloud Firestore
- Cloud Functions (Node.js 14+ runtime. See FAQs)
- Usage of this extension also requires you to have a running Typesense cluster either on Typesense Cloud or some self-hosted server. You are responsible for any associated costs with these services.
What you can configure
- Firestore Collection Path
- Firestore Collection Fields
- Typesense Hosts
- Typesense API Key
- Typesense Collection Name
- Cloud Functions location
Type: Cloud Function
Description: A function that indexes data into Typesense when it's triggered by Firestore changes
Type: Cloud Function
Description: A function that backfills data from a Firestore collection into Typesense, triggered when a Firestore document with the path `typesense_sync/trigger` has the contents of `backfill: true`.
How to install this extension
Using the Firebase console
To install and manage extensions, you can use the Firebase console.Install using console
Using the Firebase CLI
To install and manage extensions, you can also use the Firebase CLI:
Step 1: Run the following npm command to install the CLI or update to the latest CLI version.
npm install -g firebase-toolsDoesn't work? Take a look at the Firebase CLI reference or change your npm permissions.
Step 2: Set up a new Firebase project directory or navigate to an existing one
Step 3: Add this extension to your extension manifest by running
firebase ext:install typesense/firestore-typesense-search --local --project=projectId_or_alias
Step 4 (Optional): Test this extension locally with the Firebase Emulator Suite
Step 5: Deploy the extensions in your manifest to your project
firebase deploy --only extensions --project=projectId_or_alias