Search withoutthe bullshit.
A zero-bs fork of Orama maintained by the original team. Full-text, vector, and hybrid search in your browser, server, or edge - in less than 2kb.
61%
Faster full-text search
on complex queries
8,700%
Faster geosearch
at 500m radius
508%
Faster vector search
using the new IVF index
<2kb
Bundle size
full, tree-shakeable engine in the browser
import { create, insert, search } from 'zbsearch'
const db = create({
schema: {
title: 'string',
embedding: 'vector[384]',
},
})
await insert(db, {
title: 'Noise cancelling headphones',
embedding: [0.8271, 0.9274, 0.8371, 0,1723, 0.5291, ...],
})
const results = search(db, {
term: 'best headphones',
mode: 'hybrid',
})
Everything you need to search
The same Orama API you know - faster internals, no vendor lock-in.
Full-Text Search
Typo-tolerant BM25 with stemming in 30+ languages.
Vector Search
Fast similarity search with optional IVF indexing.
Hybrid Search
Combine keyword and semantic relevance in one query.
Search Filters
Filter by numbers, enums, booleans, and nested fields.
Geosearch
Radius, polygon, and sorted geo queries on BKD trees.
Results Pinning
Merchandising rules to boost or pin specific results.
Facets
Aggregate counts across categories at search time.
Fields Boosting
Weight schema properties to shape ranking.
Typo Tolerance
Forgiving matching powered by Levenshtein distance.
BM25
Industry-standard ranking out of the box.
30+ Languages
Tokenization and stemming for global text search.
Plugin System
Extend indexing, search, and persistence with hooks.