BM25 Turbo Rust Python WASM CLI
Description
The fastest BM25 scoring engine: 2,300x faster than BM25S. 28K QPS on 8.8M docs. 5 BM25 variants (Robertson, Lucene, ATIRE, BM25L, BM25+). Memory-mapped persistence, BMW pruning, streaming indexing. Built-in HTTP server, MCP tool, HuggingFace Hub integration. Drop-in bm25s replacement for RAG & ML pipelines.
Installation
This entry records only its repository, not the path inside it, so there is no
exact command to give. Open the source below and copy the folder into
~/.claude/skills/, or the file into ~/.claude/agents/.
README
BM25 Turbo ⚡
Rust · Python · WASM · CLI
The fastest BM25 scoring engine. Period.
**28,217 queries/second** on 8.8 million documents. **8.6ms P50 latency**. Precomputed sparse BM25 with BMW pruning, memory-mapped persistence, and zero-copy index loading. Built for RAG pipelines, search applications, and ML workflows.
use bm25_turbo::{BM25Builder, Method};
let index = BM25Builder::new()
.method(Method::Lucene) // Robertson, Lucene, ATIRE, BM25L, BM25+
.k1(1.5).b(0.75)
.build_from_corpus(&[
"Rust is a systems programming language",
"BM25 is a ranking function used in information retrieval",
"Machine learning models benefit from fast retrieval",
])?;
let results = index.search("information retrieval", 10)?;
for (id, score) in results.doc_ids.iter().zip(results.scores.iter()) {
println!("doc {} → {:.4}", id, score);
}
Why BM25 Turbo?
Most BM25 libraries compute scores at query time — scanning inverted indexes on every request. BM25 Turbo takes the opposite approach: **precompute every BM25 score at index time** into a compressed sparse column (CSC) matrix. Queries become sparse vector lookups with no math at serving time.
This makes BM25 Turbo the right choice when:
- You query the same index many times (RAG, r
Related Skills
Awesome Go
A curated list of awesome Go frameworks, libraries and software
Development next.js
| The React Framework | 138360 | 1503 | 1 |
Development sharing-skills
skill for guidance.
Development root-cause-tracing
Use when errors occur deep in execution and you need to trace back to find the original trigger.
Development Template Skill
Minimal skeleton for a new skill project structure.
Development Third-party Notices
THE FOLLOWING SETS FORTH ATTRIBUTION NOTICES FOR THIRD PARTY SOFTWARE THAT MAY BE CONTAINED IN PORTIONS OF THI
Development