2026-06-20
Introducing xrecommend
A faster, cheaper Algolia — embeddings, BM25, and a knowledge graph, all hybridized. This post is the story of why we built it and what it does.
The problem with search-as-a-service
Algolia is excellent and we use it on a couple of side projects. But for a long-running, document-heavy workload the per-query fees and per-record pricing add up. And every "vector search" SaaS charges per-embedding, on top of per-query.
What xrecommend does
xrecommend runs the whole search stack end-to-end and exposes it through a single REST endpoint. Embeddings, BM25, sparse weights, and a knowledge graph all fuse into one ranking. No per-query cost, no per-embedding cost.
How it ranks
We fuse four signals with weighted Reciprocal Rank Fusion:
- Dense embeddings from BGE-M3 (1024-dim)
- BM25 from SQLite FTS5
- Sparse embeddings (also from BGE-M3, in the same forward pass)
- Knowledge graph traversal via recursive CTEs
The top 50 candidates go to a cross-encoder reranker. End-to-end p99 sits at ~300ms.
Try it
Spin up a free account and push your first records in under a minute.