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_HOSTto production URL - Set
MEILISEARCH_MASTER_KEYin 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