# Diagnosis
## Symptom
Queries return plausible but incomplete results; known-good neighbors are missing from matches.
## Likely cause
Either the embedding model does not capture the similarity you want, or the index's approximate search is dropping candidates. These need different fixes, so do not guess.
## Confirm it
Follow the docs' recall-debug procedure:
1. Build an eval set: at least 10 queries over a 100k-vector source set, with labeled right answers.
2. Embed queries and corpus with your model; run brute-force search (FAISS or numpy) and score against the labels. If brute force scores badly, it is a model problem.
3. Upsert the same vectors to Pinecone, run the same queries, and compare Pinecone's returned ids to the brute-force ids. Pinecone recall near 0.99 on s1/p1 means the index is fine and the model is the issue.
## Fix
1. Model problem: change the embedding model (and rebuild the index at the new dimension).
2. Index problem: check top_k (too small clips recall), filters (too strict), and pod size; escalate to support with the reproducible dataset if recall stays low.
## Verify the fix
Re-run the eval set after the change and compare the recall number, not vibes. Keep the eval set; re-run it on every model or index change.