Retrieval
Search arms
The six vector and lexical retrieval methods exposed by the search API.
The retriever parameter selects one of six retrieval arms. Several arms can contribute candidates to a hybrid run.
| Arm | Method | Notes |
|---|---|---|
bm25 | Sparse term-frequency ranking | Useful for exact words, names, and codes. |
tfidf | TF-IDF vector ranking | A lexical comparison baseline. |
w2v | Corpus-trained Word2Vec chunk representation | Limited by vocabulary coverage and context. |
dense | Query embedding compared with stored chunk embeddings | Uses the configured embedding model and PostgreSQL vectors. |
hybrid | Weighted fusion of active member rankings | Current weights: dense 0.60, BM25 0.40; TF-IDF and Word2Vec are zero-weight. |
hybrid_rr | Hybrid candidate fusion followed by a cross-encoder reranker | Default chat arm; falls back to fusion order when reranking is unavailable. |
Choosing an arm
Use bm25 for literal terms such as names, codes, or distinctive phrases. Dense search can match semantically similar passages whose wording differs from the query. Hybrid fusion combines those complementary candidates. hybrid_rr applies a cross-encoder to refine the fused candidate order.
Chat's default is configurable through CHAT_RETRIEVER. See hybrid ranking for the fusion and reranking details.