Add hybrid-search module: vector, tsvector and BM25 fused with Reciprocal Rank Fusion in Java and SQL over one PostgreSQL table; quality by query type, held-out k check, plans and latency at 50k rows

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_0146opDKBYtADXvkc39zdiyw
This commit is contained in:
Claude
2026-10-22 18:04:49 +00:00
parent d7e68a14af
commit 2ccf1d8d19
26 changed files with 1508 additions and 0 deletions
+15
View File
@@ -0,0 +1,15 @@
# Choosing k on half of the queries and scoring it on the other half
candidates per list: 20. The 60 queries are split by position into two folds of 30; k comes from {1, 10, 60, 200}.
--- fold 1: train on 30, test on 30 ---
k chosen on the training half (best MRR@10 0.872): 1
held-out half, k=1 : 22/30 29/30 0.831
held-out half, k=60 : 24/30 28/30 0.859
held-out half, vector only: 21/30 30/30 0.831
--- fold 2: train on 30, test on 30 ---
k chosen on the training half (best MRR@10 0.859): 60
held-out half, k=60 : 22/30 27/30 0.794
held-out half, k=60 : 22/30 27/30 0.794
held-out half, vector only: 20/30 25/30 0.733