Join q and a when vectorizing them. Questions alone are too short to carry a lot of semantic richness.
When you get a query, you then run two semantic search queries: one using the original question and one using a HYDE version of the question. Take those results and run it through cohere’s rerank.