Tier 1: grep
Zero dependencies. Exact string matching. Works everywhere.Tier 2: SQLite FTS5 (default)
BM25-ranked full-text search powered by SQLite FTS5. Supports boolean operators, phrase matching, and path prefix filtering.Query syntax
Trust-ranked search
KiwiFS also offers trust-ranked search at/api/kiwi/search/verified. Pages with status: verified or source-of-truth: true in their frontmatter are boosted in results.
Tier 3: Vector search
Semantic similarity search using pluggable embedder providers and vector stores. Enable it in.kiwi/config.toml:
Supported embedders
Supported vector stores
Hybrid search
When both FTS and a vector index exist,mode=hybrid fuses the two ranked lists with Reciprocal Rank Fusion. If embeddings are not configured, the same request degrades to lexical-only.
engines (fts, semantic), per-engine ranks, and the fused RRF score. Tune fusion with rrf_k (default 60) and boost.
Context packs
POST /api/kiwi/brief retrieves pages with hybrid search, extracts sections, and packs them into a token budget. It never summarizes — overflow is listed in a dropped manifest so you can see what was cut.
Retrieval evaluation
Score FTS, semantic, and hybrid engines against a golden set in.kiwi/eval/:
POST /api/kiwi/eval with { "set": "leave-one-out" } or an inline queries array. Metrics include hit rate and nDCG.
API endpoints
MCP tools
See the Search API reference for detailed endpoint documentation.