Short map of published guides for Scrypath, the Ecto-native search indexing library. Start with the Golden path for a linear first-hour setup, or JTBD and user flows if you want the mental model first.

For supported versions, install guidance, and verification commands, use Support and compatibility.

Crash Course

Scrypath is easiest to think about as four layers:

The intended app boundary is a Phoenix context that owns the search flow, with controllers and LiveView as thin callers.

GuidePurpose
JTBD and user flowsCanonical mental model: what jobs Scrypath serves, the main user flows, and what "success" honestly means in each one.
Meilisearch conceptsShort crash course on the Meilisearch nouns, async task model, settings-as-migrations posture, and projection boundary Scrypath relies on.
Common mistakesEvidence-led pitfalls (symptom → wrong model → fix) with links back to canonical guides.
Getting startedMental model: what you configure, where sync and search live in the app.
Golden pathChecklist from mix.exs through first Scrypath.search/3 with inline sync.
Support and compatibilityCurrent install, runtime, Meilisearch, sync-mode, and verification guidance.
Outside-adopter intakeWhat to include when a real app integration fails or the documented path is unclear.
Scope and reopen policyCurrent non-goals and the only three triggers that reopen feature-lane scope.
Request-edge searchBrowser params, Scrypath.QueryParams, optional Scrypath.Phoenix, and context-owned Scrypath.search/3.
Composing real-app searchReusable defaults, fixed scopes, host-owned rendering, and compose_many/2 lowering.
Related data and reindexingCanonical guidance for associated-data fan-out, when direct sync is enough, and when to escalate to backfill or reindex.
Meilisearch operationsWhere Meilisearch runs, provisioning sketches, recovery paths, and footguns—through a Scrypath lens.
Phoenix walkthroughEnd-to-end Phoenix adoption: schema → context → controller → LiveView.
Phoenix contextsContext-owned search and sync boundaries.
Phoenix controllers and JSONJSON APIs and thin controller callers.
Phoenix LiveViewLiveView calling Scrypath.search/3 and related patterns.
Faceted search with Phoenix LiveViewFacets, filters, and catalog-style UIs.
Multi-index searchFederated / multi-index queries.
Sync modes and visibilityInline, Oban, and manual sync semantics and what “done” means.
Operator Mix tasksCLI entrypoints over Scrypath.* operator APIs.
Drift recoveryOperator path when DB and search disagree or work is stuck.
Relevance tuningMeilisearch settings, verification, and tuning from schema declarations.
Per-query tuning pipelineRequest-time Meilisearch search parameters vs index-time settings — canonical merge and mapping spec.

The minimal runnable Phoenix example (Postgres + Meilisearch + Oban) lives under examples/phoenix_meilisearch/. For a richer click-around showcase with a multi-tenant storefront, mounted operator UI, Docker Compose, realistic seeds, and the advisory browser evidence lane, use examples/scrypath_ecommerce/.

  1. Golden path
  2. JTBD and user flows
  3. Meilisearch concepts
  4. Request-edge search
  5. Composing real-app search
  6. Phoenix walkthrough
  7. Sync modes and visibility
  8. Related data and reindexing
  9. Drift recovery