Search with Elastic App Search
Made by Elastic
Syncs documents from a Firestore collection to Elastic App Search to enable full-text search.
How this extension works
The Elastic App Search Firestore extension enables comprehensive full-text search for your Firebase applications.
This extension indexes and syncs the documents in a Cloud Firestore collection to an Elastic App Search deployment by creating a Cloud Function which syncs changes in your collection on any write event (any time you create, update, or a delete a document).
Elastic App Search
Elastic App Search provides a comprehensive API for implementing common search patterns like auto-completed search suggestions and faceted filter navigation. You'll also have tooling so your team can easily track and tweak search relevance based on usage data.
App Search is a part of Elastic Enterprise Search. You'll need an Enterprise Search deployment, which is created and maintained outside of Firebase.
- Start an Enterprise Search deployment. You can provision one easily with Elastic Cloud on GCP.
- Once you have a deployment running, you'll need an App Search Engine to sync to your collection.
- Once you've installed the extension and your Firestore collection is synced to App Search, you're ready to start searching!
You can use the App Search Search API for full-text search and everything you need to build a complete search experience: facets, filters, click analytics, query suggestion, relevance tuning and much more.
If you have documents in your collection already, this extension also provides a script for backfilling existing data to App Search.
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 Functions (Node.js 10+ runtime. See FAQs)
- Cloud Firestore
- Cloud Secret Manager
If you host your Elastic Enterprise Search instance on Elastic Cloud, you will also be responsible for charges associated with that service.
What you can configure
- Cloud Functions location
- Collection path
- Elastic App Search engine name
- Elastic App Search private API key
- Elastic Enterprise Search URL
- Indexed fields
Type: Cloud Function
Description: Function triggered on Create, Update, or Delete of a document in the specified collection which syncs the change to App Search.
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 elastic/firestore-elastic-app-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