Reranking

재순위화

Rescore fast first-pass retrieval results with a more precise relevance model.

···
html
<div class="scene"><div class="heading">FIRST PASS → RERANK</div><div class="rank"><div id="r-a" class="row">A <span>초기 1위</span></div><div id="r-b" class="row">B <span>초기 2위</span></div><div id="r-c" class="row">C <span>초기 3위</span></div></div><div class="muted" id="rank-note">빠른 검색 순서</div></div>
css
.scene{width:min(94vw,800px);height:min(88vh,326px);padding:clamp(10px,2.7vmin,19px);border:1px solid var(--line);border-radius:13px;background:var(--surface);font:500 clamp(13px,2.4vmin,17px)/1.3 var(--font-sans,sans-serif);position:relative;overflow:hidden}.scene .mono{font-family:ui-monospace,SFMono-Regular,monospace}.scene .muted{color:var(--muted)}.scene .accent{color:var(--accent)}.scene .heading{font-weight:750;color:var(--accent);margin-bottom:clamp(5px,1.6vmin,12px)}.rank{display:flex;flex-direction:column;gap:6px;height:67%}.row{height:30%;display:flex;align-items:center;justify-content:space-between;padding:0 10px;border:1px solid var(--line);border-radius:6px;background:var(--bg);transition:order .5s,background .5s}.row span{color:var(--muted)}.rank.reranked #r-a{order:3}.rank.reranked #r-b{order:2}.rank.reranked #r-c{order:1;background:color-mix(in srgb,var(--accent) 16%,var(--surface));border-color:var(--accent)}
js
let on=false;function draw(){on=!on;document.querySelector('.rank').classList.toggle('reranked',on);document.getElementById('rank-note').textContent=on?'정밀 점수: C가 1위':'빠른 검색 순서'}draw();setInterval(draw,1600)

Reranking applies a more expensive relevance assessment to a shortlist from a fast retriever. Scoring only candidates is usually more practical than running a precise model over every document.

The demo changes card order after rescoring. Extra latency and cost mean the shortlist size should be measured.

When to use

Use it when retrieval returns candidates but the top results are often weak.

Open as page ↗