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