One query box across Customers + Tickets + KB articles + Events — case-insensitive substring match, zero sync code.
Algolia is unmatched on typo tolerance + synonyms + ranking-tuning depth — and is a separate vendor you sync each corpus into. Sendora Search federates across the 4 indexes your tenant already holds — `profiles`, `support_tickets`, `kb_articles`, `events` — with one query, no sync code, no second bill. Implementation is honest: Postgres `ILIKE '%query%'` matching, type-filter facets, no ranking tuning, no typo tolerance, no synonyms. The win is platform federation + zero-sync, not feature parity with Algolia. If you need best-in-class ranking, keep Algolia for that corpus. If you need "find a customer / ticket / KB article fast" from one box, this is the right shape.
Features
- Federates 4 indexes in one query —
profiles(email + name),support_tickets(subject),kb_articles(title),events(event type). Routes live inapps/backend/src/modules/search/routes.ts:3if you want to read the code. - Type filter — multi-select to narrow to one or more of the 4 indexes via
?types=profiles,tickets,.... - Case-insensitive substring matching — Postgres
ILIKE '%term%'per column. No typo tolerance, no fuzzy match, no synonyms — be explicit with the query string. - Zero sync code — corpus is the same tenant the rest of Sendora operates on. New row inserted by any module → immediately searchable. No webhook sync, no Algolia push, no eventual consistency window.
- Per-type result cap — limit param caps total + 20-per-type internal cap to keep latency predictable.
- Cmd+K embed in dashboard — quick
find user by email/find KB article by titlefor ops teams.
Common use cases
"Find a customer fast" command palette for ops + support — same tenant, no sync, no second login.
Cross-module find (ticket + customer + KB hits for one keyword) without writing a join.
Avoid wiring a separate Algolia index for low-velocity in-app search where Postgres ILIKE is acceptable.
Start in minutes. Scale without switching tools.
The free tier covers most side projects. Every module is turn-key and every SDK is first-party.