The query is half the system
Most teams optimize the document side (better embeddings, better chunking) and forget the query side. The query is also a string the embedding model encodes — and short, vague queries embed badly. Two cheap fixes change retrieval quality more than people expect.
Multi-query expansion
Ask an LLM to rewrite the user's query in 3–5 different phrasings. Embed each. Search each. Fuse the rankings with RRF. Cost: one extra LLM call. Win: significantly higher recall on vague or short queries.
HyDE (Hypothetical Document Embeddings)
Instead of embedding the query, ask an LLM to write a hypothetical answer to the query, then embed that answer and search with it. Why it works: answers and documents share lexical and structural patterns; questions do not. Especially strong when your queries are short and your documents are long.