← ALL TAGS

Tag: search

5 articles tagged “search” on Oak Oliver Engineering, newest first. The latest is “Getting Started with bm25s: Full-Text Search in TypeScript Without a Search Server”.

Runtime

Getting Started with bm25s: Full-Text Search in TypeScript Without a Search Server

A hands-on introduction to bm25s, the TypeScript port of Python's BM25 library: index a corpus, rank results with scores, pick a BM25 variant, tune k1 and b, add stopwords and stemming, save and load an index, and finish with a small CLI that searches your Markdown notes. Every example runs on Node, Bun and Deno.

October 3, 2026 10 min read
Read Story →
Runtime

Stop Pasting Into ChatGPT. Build a Knowledge Base Your AI Can Actually Search.

I built a CLI tool that turns URLs, PDFs, and markdown into a searchable knowledge base with AI-powered Q&A. No vector database. No embedding service. Just files, BM25 search, and LLM synthesis — all from your terminal.

April 3, 2026 7 min read
Read Story →
Runtime

How kb Works: 27 Modules, One External Dependency, and a Compiler That Turns Raw Sources Into a Wiki

A deep dive into the architecture of kb — the CLI knowledge base tool. Hash-based incremental compilation, BM25 search, TTY-aware dual output, Zod-validated frontmatter, and a dependency graph that recompiles only what changed. 154 tests, 27 TypeScript modules, the full @oakoliver stack.

April 3, 2026 8 min read
Read Story →
Runtime

Full-Text Search Without Elasticsearch: BM25 in Pure TypeScript

How we replaced Elasticsearch with a small TypeScript port of Python's bm25s for mentor and session search in Mentoring. 4.6 million tokens per second indexing, zero infrastructure dependencies.

March 16, 2026 6 min read
Read Story →
Runtime

I Rewrote Python's Fastest BM25 Library in TypeScript: 2x Faster Indexing, Zero Dependencies

How bm25s (formerly bun-bm25s) indexes about 2x faster than Python's bm25s library using nothing but TypeScript and typed arrays. Retrieval beats bm25s's numpy backend but not its numba backend, as the October 2026 re-measurement shows.

March 15, 2026 9 min read
Read Story →