Hybrid Search
Dense vector embeddings (Qdrant) + sparse BM25 keyword search combined via Reciprocal Rank Fusion. Configurable weights for dense/sparse balance per query.
- Qdrant embedded or remote
- BM25 with rank_bm25
- RRF k=60 default
- Per-query weight override