Module reranking

Module reranking 

Source
Expand description

Re-ranking with cross-encoders for improved search quality

This module implements two-stage retrieval:

  1. Fast retrieval with bi-encoders (semantic search)
  2. Precise re-ranking with cross-encoders

Cross-encoders jointly encode query and document for more accurate relevance scoring, but at higher computational cost. By applying them only to top-k candidates, we get both speed and accuracy.

§Features

  • Multiple cross-encoder backends (local models, API-based)
  • Score fusion strategies (linear, rank-based, learned)
  • Batch processing for efficiency
  • Result caching
  • Diversity-aware re-ranking

§Example

use oxirs_vec::reranking::{CrossEncoderReranker, RerankingConfig};

let config = RerankingConfig::default();
let reranker = CrossEncoderReranker::new(config)?;

// First stage: fast retrieval
let candidates = vector_store.search("machine learning", 100)?;

// Second stage: precise re-ranking
let reranked = reranker.rerank("machine learning", &candidates, 10)?;

Re-exports§

pub use cache::RerankingCache;
pub use cache::RerankingCacheConfig;
pub use config::FusionStrategy;
pub use config::RerankingConfig;
pub use config::RerankingMode;
pub use cross_encoder::CrossEncoder;
pub use cross_encoder::CrossEncoderBackend;
pub use diversity::DiversityReranker;
pub use diversity::DiversityStrategy;
pub use fusion::ScoreFusion;
pub use fusion::ScoreFusionConfig;
pub use models::CrossEncoderModel;
pub use models::ModelBackend;
pub use models::ModelConfig;
pub use reranker::CrossEncoderReranker;
pub use reranker::RerankingOutput;
pub use reranker::RerankingStats;
pub use types::RerankingError;
pub use types::RerankingResult as Result;
pub use types::ScoredCandidate;

Modules§

cache
Re-ranking result caching
config
Configuration for re-ranking
cross_encoder
Cross-encoder model wrapper for query-document relevance scoring
diversity
Diversity-aware re-ranking strategies
fusion
Score fusion strategies
models
Cross-encoder model backends
reranker
Main cross-encoder re-ranker implementation
types
Core types for re-ranking