skills/smithery.ai/NestJS Search & CQRS

NestJS Search & CQRS

Installation
SKILL.md

Search Engine & Full-Text

Strategy

  • Pattern: CQRS (Command Query Responsibility Segregation).
    • Write: To Primary Database (Postgres/MySQL). Source of Truth.
    • Read (Complex): To Search Engine (Elasticsearch, OpenSearch, MeiliSearch). Optimized for filtering, fuzzy search, and aggregation.

Synchronization (The Hard Part)

  • Dual Write (Anti-Pattern): await db.save(); await es.index();.
    • Why: Partial failures leave data inconsistent. Slows down HTTP response.
  • Event-Driven (Recommended):
    1. Service writes to DB.
    2. Service emits EntityUpdated.
    3. Event Handler (Async) pushes to Queue (BullMQ).
    4. Worker indexes document to Search Engine with retries.
  • CDC (Golden Standard): Change Data Capture (Debezium). Connects directly to DB transaction log. No app conceptual overhead, but higher ops complexity.
Installs
–
First Seen
–