Nuxt Swiftsearch
Getting Started

Welcome

Why Nuxt Swiftsearch exists and how the SSR model works.

Nuxt Swiftsearch re-implements InstantSearch connectors for Nuxt's SSR lifecycle.

Vue InstantSearch's client-first registration model is excellent for DX, but it can be hard to make deterministic in SSR because widget registration and hydration happen in the same tick. Swiftsearch keeps the same connector power while making widget registration explicit at the AisInstantSearch boundary.

Architecture in one paragraph

<AisInstantSearch> owns the InstantSearch instance, receives a final widget list, and runs setup before rendering. Child components then consume connector state from this parent-owned graph. This gives stable SSR output while still allowing highly composable UIs.

What changed recently

  • Added a declarative transform so widgets can be authored directly in templates without manual :widgets boilerplate.
  • Added reliable multi-index scoping via indexId to prevent shared-state leakage between sibling indices.
  • Expanded parity coverage against vue-instantsearch fixtures and playground scenarios.
If your project already uses the manual :widgets + useAis* pattern, it remains fully supported.
Copyright © 2026