Keeping the index open: The recommendation-side cost of shared search and recommendation
2026
A shared search-and-recommendation index has to score new items from their features alone, because search has no exploration slot in which to warm them up. On a public log carrying both surfaces over one catalog, 38.6% of query-search impressions in a held-out week show an item never previously shown or visited. On a narrower slice — engagements where the user, not the catalog, had no prior contact with the item — the feature-based tower serves that demand at no measurable penalty against 99 sampled negatives (0.9595 Recall@20 against 0.9510 warm), a parity a lexical baseline shares and a full-catalog check leaves statistically undecided. Dual-encoder (two-tower) retrieval keeps the index open in exactly this sense, where an ID-softmax recommender admits a new item only by retraining. We price that openness on the recommendation side — the half that admits controlled offline evaluation — against six sequential baselines, each retrained and tuned through five documented rounds on corrected targets (a float32 timestamp bug in a standard library silently reorders the leave-one-out target for 19.7% of users). Warm accuracy costs 5.2% Recall@20 relative (11.4% NDCG@20) against the strongest retrained baseline in each metric on MovieLens-1M (3.4K items); on MIND (9.4K items) the gap narrows to 0.8–3.6% of the five strongest baselines, though sixth of seven rows. Cold coverage is the payoff, and the shared index's tightest constraint: under a strict cold-start protocol with zero cold-item leakage the content tower reaches 0.172±0.006 Recall@20, 1.4× the strongest of the three dedicated methods we could retrain (0.124±0.007) and 3× a training-free floor, with no cold-start-dedicated training stage. The training objective hides a quality–scale trade-off. Swapping a deployed sampled InfoNCE recipe for exact full-softmax cross-entropy (loss, scoring, sampling and schedule move together) lifts test Recall@20 by 54% on MIND-small and 6.9% on MovieLens-1M, one matched pair per benchmark. But the exact objective
Research areas