Daily driver

Hybrid Search

Search that thinks. BM25 precision meets semantic understanding.

Serpaix's search engine fuses three retrieval strategies with adaptive weights that change based on what you're actually asking. No more choosing between keyword precision and semantic meaning — you get both, intelligently combined.

The Problem

Keyword search misses semantic meaning. Pure AI semantic search is slow and misses exact matches. Neither alone is adequate for knowledge retrieval across hundreds of notes spanning years.

The Solution

BM25 (PostgreSQL tsvector/tsquery) + vector semantic (pgvector cosine, paraphrase-multilingual-MiniLM-L12-v2, 384-dim) + knowledge graph traversal, fused with Reciprocal Rank Fusion. Adaptive weights: question queries → 80% semantic; short exact queries → 80% BM25; temporal queries → 100% BM25; code queries → balanced. DSL operators: intitle:, tag:, notebook:, source:, before:, after:, regex:, NOT, OR.

Key benefits

Finds notes by meaning, not just keywords — 'papers about attention mechanisms' works

Natural language temporal queries: 'notes from before my startup pivot'

Power-user DSL: search by tag, date range, notebook, source, and regex

Saved searches with scheduled re-execution and notification alerts

Adaptive weights: the query type determines the search strategy automatically

Click-through learning: search results improve over time from your usage patterns

Technical Depth

RRF fusion formula: score = Σ 1/(k + rank_i) where k=60. Adaptive BM25 weight range: 0.2–0.8 based on query-type classifier. Embedding model: paraphrase-multilingual-MiniLM-L12-v2 at 384 dimensions, running locally via ONNX runtime for zero-latency embedding.

Who uses this feature

Power users searching across large knowledge bases
Researchers finding papers by concept
Developers searching technical notes

Ready to try Hybrid Search?
Start for free.