// the find
typesense/typesense-instantsearch-adapter
A JS adapter library to build rich search interfaces with Typesense and InstantSearch.js
A translation layer that lets you use Algolia's InstantSearch.js UI library (and its React/Vue/Angular variants) against a Typesense backend instead of Algolia. If you're already invested in the InstantSearch widget ecosystem but want to self-host your search, this is the path of least resistance. It is not a general-purpose Typesense client.
The adapter covers the full InstantSearch widget surface — facets, geo search, dynamic widgets, sortBy, hierarchical menus — which saves weeks of custom UI work. Multi-index and union search (v2.10+) are supported, including collection-specific parameter overrides, which you actually need when collections have different schemas. The escaping and parsing edge cases (colons in values, special characters in field names) are explicitly handled with opt-in flags rather than silently broken. Test coverage is real: puppeteer integration tests against a live Typesense instance, not just mocked JSON fixtures.
The adapter is necessarily one version behind Typesense Server features — you can't use anything new until a new adapter release ships, and the compatibility table shows that gap has historically been weeks to months. The filter_by bridging between Algolia's facetFilters format and Typesense's syntax is leaky: the configure widget workaround for setting filter_by is explicitly documented as 'only works on initial load', which will surprise anyone who needs dynamic server-side filters. Vector search support requires you to intercept the query lifecycle manually and wire up your own embedding API call — the adapter doesn't abstract this at all, it just passes through a special parameter. No TypeScript source: the type definitions are hand-maintained in index.d.ts, so they'll drift.