Dense Retrieval
Dense retrieval is retrieval that finds text by comparing learned vectors in which every position holds a meaningful value, rather than by matching the words the query and the text have in common.
“Dense” is a statement about the representation, not about the quality of results. A dense vector has a few hundred to a few thousand values and essentially none of them are zero. Every value participates in every comparison. The contrast is with a sparse representation, where the vector has one position per vocabulary term and almost all of them are empty.
That difference in shape determines everything else. A dense vector is produced by a model that has learned the space, so positions correspond to nothing nameable and the vector cannot be read. A sparse vector’s positions correspond to actual words, so it can.
Because the space is learned, two texts can land close together without sharing vocabulary. This is the capability dense retrieval exists to provide, and the reason it became standard in retrieval-augmented systems.
The term comes from information-retrieval literature, where it names a family of methods. Product documentation more often says vector search or semantic search for the same thing.
In practice
A dense retrieval path has four components and no more: an embedding model, a chunked corpus, a vector index, and a similarity metric.
At ingestion each chunk is embedded and stored. At query time the query is embedded by the same model and the index returns the nearest stored vectors. Nothing about the query’s wording is retained — only its position in the space.
Its behaviour follows from that.
Recall on paraphrase is its purpose. A query with none of the document’s words retrieves the document if the meanings align. No keyword method does this.
Exact strings are its weakness. Identifiers, error codes, model numbers, and surnames are matched by resemblance rather than equality, so a near-miss looks like a hit. A query for one version string can return a chunk about a different one with high similarity.
Everything depends on one model. The embedding model defines the space, so retrieval quality is bounded by how well that model’s training covers the corpus’s domain and language. Replacing it invalidates every stored vector.
Vocabulary that postdates the model is invisible. Terms the model never saw during training are represented by whatever fragments they break into, which places them in the space more or less arbitrarily. New product names and internal jargon fail in this way.
Commonly confused with
Sparse retrieval. The complement: matching on terms, with a high-dimensional mostly-empty representation. Strong exactly where dense retrieval is weak. See sparse retrieval.
Semantic search. The same operation named by its goal rather than its representation. “Semantic search” is the product-facing term and “dense retrieval” the technical one; they are used for the same mechanism. See semantic search.
Vector search. Names the operation performed — nearest-neighbour lookup over vectors — without specifying that the vectors are learned text embeddings. Nearly always the same thing in a RAG context.
Bi-encoder. The model architecture that makes dense retrieval fast: query and text encoded separately so that text vectors can be computed in advance. Dense retrieval is the method; bi-encoder is the model shape it relies on. See bi-encoder.
Dense vector, the storage sense. In numerical computing, “dense” versus “sparse” describes how an array is stored in memory, independent of retrieval. The words are the same and the concept is analogous, but a statement about storage format is not a statement about a retrieval method.
Usage notes
“Dense” is often heard as an endorsement. It describes vector occupancy. Nothing in the word implies better results, and on corpora dominated by codes and part numbers a sparse method commonly outperforms it.
The term appears mostly in research writing. Engineering documentation says vector search; vendor material says semantic search or AI search. A reader moving between these bodies of text is reading about one mechanism under three names.
It is frequently paired rather than chosen. Running dense and sparse retrieval together and merging their results is common enough to have its own name, which makes “dense or sparse” a false choice in many systems. See hybrid search.
Dense retrieval does not decline to answer. Nearest-neighbour search returns the closest vectors whether or not any are relevant, so an out-of-scope query yields confident-looking results. A separate judgement is needed to distinguish closest from good. See top-k.