What is Reranking?
Reranking is a technique that refines the output of one or more vector queries by applying a secondary scoring strategy. Instead of relying solely on vector similarity scores, rerankers can:- Combine results from multiple vector fields
- Apply semantic understanding using cross-encoder models
- Merge rankings using fusion algorithms
query() method of Collection via the reranker parameter.
When to Use Reranking
Multi-Vector Search
When querying multiple vector fields (e.g., title embeddings and content embeddings), reranking helps combine the results into a unified ranking:Semantic Relevance
For search scenarios requiring deep semantic understanding, model-based rerankers can provide more accurate relevance scores:Available Rerankers
Zvec provides several reranking strategies:RrfReRanker
Reciprocal Rank Fusion for combining multi-vector results
WeightedReRanker
Weighted score combination with configurable field weights
QwenReRanker
Model-based semantic reranking using Qwen/DashScope API
ReRanker Base Class
Abstract base class for all rerankers.
Constructor
Number of top documents to return after reranking.
Field name used as input for reranking (e.g., document title or body). Required for some rerankers like
QwenReRanker.Properties
Number of top documents to return after reranking.
Field name used as reranking input.
Methods
rerank()
Mapping from vector field name to list of retrieved documents (sorted by relevance).
Re-ranked list of documents (length ≤
topn), with updated score fields.Subclasses must implement the
rerank() method.