
Ranking and tuning
Change one thing at a time. Measure before and after. Never tune on intuition alone.
High-leverage levers, in order of impact:
| Lever | What it does | Start value |
|---|---|---|
| Field selection | Index fewer fields → ranking is cleaner | Index only what matters |
| Field boosts | Title match outweighs body | 2.0× for titles |
Graph scope (TargetUIDs) |
Narrow before ranking | Apply when context is known |
| Hybrid blend (α) | Text vs vector weight | 0.5 |
| Vector cutoff | Drop low-similarity results | 0.55–0.65 |
| Time decay | Boost recent results | Off until needed |
Build a golden set first:
query_id, query, expected_uids
q-001, "battery drain MBA-2024", uid-42;uid-77
q-002, "overnight power loss fix", uid-42
80+ queries minimum. Run after every change. Track precision@1, precision@3, NDCG@10.
Tune in staging. Shadow-test against production traffic. Canary 10% before full rollout.