MatchRankingEngine
Component Detail
Description
Pure scoring engine that computes a composite match score for each mentor candidate given a set of weighted criteria. Distance contributes one factor alongside certification recency, availability status, and current workload ratio. Weights are configurable per deployment.
match-ranking-engine
Sources & reasoning
Line 99 directly ties geographic visualization to matching and assignment dispatch (oppdragstildeling), providing the provenance for this feature as a distinct matching capability beyond simple map display. Line 358 places it in Fase 3, normalizing to v1.1. The blueprint lists this feature under Geographic Map View at [v1.1]. Kept as a separate feature from peer-mentor-map because matching logic and the dispatch integration are distinct from rendering the map layer.
-
docs/source/likeperson.md · line 99Geografisk kartvisning av likepersoner for matching og oppdragstildeling (særlig store fylker).
-
docs/source/likeperson.md · line 358Geografisk kartvisning (Blindeforbundet)
Responsibilities
- Compute per-criterion scores (distance, certification, availability, workload)
- Apply configurable weighting to produce composite score
- Sort candidate list by descending composite score
- Expose per-criterion score breakdown for UI display
- Support weight profile overrides for A/B testing
Interfaces
score(candidate: MentorCandidate, target: AssignmentTarget, weights: ScoreWeights): ScoredCandidate
rankAll(candidates: MentorCandidate[], target: AssignmentTarget, weights: ScoreWeights): RankedMentorSuggestion[]
getDefaultWeights(): ScoreWeights
Related Data Entities (1)
Data entities managed by this component