Most retrieval pipelines that perform badly on PDFs are being fed damaged text. Naive extractors emit multi-column layouts as interleaved lines, turn tables into a stream of numbers with no row or column association, drop text that exists only in images, and repeat headers and footers on every page so that page furniture dominates several chunks per document.
No chunking strategy or embedding model recovers from this, because the information was destroyed before embedding.
Diagnose by printing the extracted text for the three documents your system answers worst on and reading it. That takes ten minutes and usually ends the investigation. The fixes are upstream: a layout-aware extractor, optical character recognition for scanned pages, converting tables to a structured form such as markdown or per-row records before chunking, and stripping repeated headers and footers. Store the extracted text so a change in the extractor is a visible, reviewable diff rather than a silent quality shift.