Retrieval is a competition for a small number of places. The top k does not grow when the collection grows. At a hundred documents, the chunk with the answer has almost no competition. At millions, it has thousands of plausible, on-topic, wrong neighbours, and it must beat all of them to stay in the top k. In a small simulation, recall at 3 (how often the answer chunk is in the top 3) fell from about 0.99 at 20 documents to about 0.5 at 5,000, while the answer chunk itself never moved.
Nothing shows an error when this happens. The query is embedded, the index returns its top k, and the model writes a fluent answer. If the right chunk was not in the top k, the model builds its answer on the wrong material and still sounds sure. Dashboards for latency, errors and throughput stay normal, because the failure is a ranking miss inside a step that succeeded.
Raising k is not a free fix. In a measured lab run over 818 documents and 20 questions, with the small model qwen3:4b asked to pick the right document from the retrieved list, the right document was present for 11 of 20 questions at k of 5 and for 18 of 20 at k of 20. But the questions where the model then picked it fell from 10 of 20 to 6 of 20. With more plausible wrong documents around it, the right one was used less often.