Firesearch.dev - Serverless full-text search

Take our hands-on tutorial

In this tutorial you will explore Firesearch on your local developer machine.

Firesearch Docker images can run on your local machine using the Google Cloud Firestore Emulator as a backend.

This will allow you to follow our live tutorial, where you'll create an index, load it with documents, and perform searches against that data.

Watch a video tutorial

If you'd like to do the tutorial yourself, scroll down. Otherwise, you can watch a screen recording here.

Run Firesearch locally

1. Ensure you have Docker running on your local machine

2. Run the Google Cloud Firestore Emulator with the Firebase SDK, and take a note of the port that is dynamically assigned.

firebase emulators:start --only firestore

To point Firesearch to the emulator, you will set the FIRESTORE_EMULATOR_HOST environment variable—using host.docker.internal:8080 with the correct port.

3. Run Firesearch by running the following command in a terminal:

$ docker run \ -e "PROJECT_ID=your-project-id" \ -e "FIRESEARCH_SECURITY=off" \ -e "FIRESTORE_EMULATOR_HOST=host.docker.internal:8080" \ -e "PORT=8888" -p 8888:8888 \ us.gcr.io/pacedev-firesearch/firesearch 
Which image should you run? Hide images Show all images
  • Replace your-project-id with your real Google Cloud Project ID.

The image will be downloaded and run, binding to port 8888.

Notice that for dev mode we're using environment variables to turn off security, and connect to the locally running Firestore emulator.

What next?

Open http://localhost:8888/ in your browser and go to the Live tutorial section to continue the tutorial.

Take our hands-on tutorial

  • NOTE: The live tutorial writes real data to the emulator or Cloud Firestore
  • Pay attention to which instance you are running this tutorial on (local development machine, vs cloud deployment)