Skip to main content

MeiliSearch Integration

MeiliSearch is used for full-text search across the Sprout platform.

Overview​

MeiliSearch provides:

  • Fast full-text search
  • Event matching
  • Inventory search
  • Real-time indexing

Configuration​

MeiliSearch connection is configured via environment variables:

  • MEILISEARCH_HOST - MeiliSearch server URL (default: http://localhost:7700)
  • MEILISEARCH_MASTER_KEY - Master API key for authentication

Setup​

Local Development​

Run MeiliSearch with Docker:

docker run -d \
-p 7700:7700 \
-e MEILI_MASTER_KEY=your_master_key \
getmeili/meilisearch:latest

Production​

Use managed MeiliSearch instance or self-hosted:

  • Configure MEILISEARCH_HOST to production URL
  • Set MEILISEARCH_MASTER_KEY in Doppler

Integration​

sprout_backend​

Uses MeiliSearch for:

  • Event search and matching
  • Inventory search
  • Fast queries

Library: meilisearch npm package, nestjs-meilisearch wrapper

sprout_etl​

Uses MeiliSearch for:

  • Event indexing
  • Inventory indexing
  • Search functionality

Library: meilisearch npm package

pricing_dashboard​

Uses MeiliSearch client for:

  • Frontend search
  • Real-time search results

Library: meilisearch npm package

cloudflare-workers​

Uses MeiliSearch for:

  • Inventory retrieval
  • Search functionality
  • Index management

Library: meilisearch npm package

Data Indexing​

Events​

Events are indexed with:

  • Event name
  • Venue information
  • Date and time
  • Location data
  • Custom attributes

Inventory​

Inventory is indexed with:

  • Event information
  • Price data
  • Availability
  • Custom attributes

Search Features​

  • Full-text search
  • Filtering
  • Sorting
  • Faceted search
  • Typo tolerance

Performance​

MeiliSearch provides:

  • Sub-millisecond search
  • Real-time indexing
  • Scalable architecture

Monitoring​

Monitor MeiliSearch:

  • Health checks
  • Index statistics
  • Search performance
  • Error tracking

References​