kynetradb
One Rust binary: BM25 search + vector + KV + document + auth + files + realtime + agentic admin.
vs
Typesense
Open-source typo-tolerant search engine in C++; single binary, fast, no Elasticsearch complexity.
Feature comparison
| Dimension | kynetradb | Typesense |
|---|---|---|
| Full-text search | BM25 — reference catalogue | BM25 |
| Vector search | Brute-force cosine evaluationTypesense uses HNSW which scales better past ~100k vectors | HNSW |
| Auth | Preview scope | Built-in |
| Row-Level Security | Preview scope | No |
| File storage | Preview scope | None |
| Realtime | Preview scope | None |
| Edge Functions | Preview scope | No |
| TypeScript SDK | Preview scope | No official client SDK |
| KV lookups | Preview scope | No |
| Document filter | Preview scope | Yes |
| LLM runtime | Preview scope | No |
| Outbound DB sync | Preview scope | No |
| Self-host | Preview scope | Yes |
| Single binary | Preview scope | Yes |
| License | Preview terms — request a scoped evaluation | GPL-3.0 |
| Deploy targets | 19 target profiles | 1 listed target profiles |
| Free tier | Preview access by request | yes — self-host free; Typesense Cloud trial |
When to pick Typesense
Closer to Algolia than Elasticsearch in UX; one of the fastest BM25 engines in benchmarks. No auth, files, KV, or realtime beyond webhooks.
- You need merchandising rules, A/B search testing, or built-in analytics — kynetradb has none of those today.
- Your team is already invested in Typesense's SDK and ecosystem.
When to pick kynetradb
- You want a comparison-led conversation about BM25 full-text, vector evaluation, and data-plane trade-offs.
- You need a product-specific implementation scope rather than a generic migration claim.
- You want to assess 19 hosting target profiles, including 5 Indian providers.
- You want a scoped preview conversation about the data, deployment, and operating boundary.
Search query — both APIs side by side
Full-text search call. These are documentation-accurate shapes, not runnable end-to-end examples.
kynetradb
# kynetradb — BM25 search
curl -X POST https://your.host/v1/search \
-H "Authorization: Bearer $KEY" \
-H "Content-Type: application/json" \
-d '{
"q": "aurora espresso",
"top_k": 10,
"kind": "product"
}'Typesense
// Typesense — JavaScript client
const results = await client.collections('products').documents().search({
q: 'aurora espresso',
query_by: 'title,vendor',
per_page: 10,
});