> ## Documentation Index
> Fetch the complete documentation index at: https://docs.platform.nora.my/llms.txt
> Use this file to discover all available pages before exploring further.

# Ranking & weights

> The knobs that decide which chunks come back first.

Filtering gets you a candidate pool. **Ranking** picks the winners. Nora exposes several levers.

## Fusion weights

The primary knob: how much to trust vector vs. keyword.

* **Vector weight** (0.0-1.0) — dense semantic similarity.
* **Keyword weight** (0.0-1.0) — BM25 lexical overlap.

Weights are relative, not absolute — `0.7/0.3` behaves the same as `0.35/0.15`. Adjust to shift emphasis.

## Boosts

Recency boost, tag boost, source boost. All optional, all multiplicative on the fused score.

### Recency boost

Newer content ranks higher. Two forms:

* **Decay** — half-life in days. Older chunks score lower on a smooth curve.
* **Hard cutoff** — chunks older than N days are excluded entirely (better as a filter than a boost, honestly).

### Tag boost

Boost or demote by tag. Example: boost `verified` chunks 1.5×, demote `internal-draft` chunks 0.5×.

### Source boost

Boost specific documents or collections. Useful when you have a canonical source you want to prefer over crawled copies.

## Reranker

Optional cross-encoder pass over the top \~20 fused results. It re-scores each (query, chunk) pair with a small transformer that reads both together — much more accurate than embedding cosine similarity alone.

* Adds 150-300ms latency.
* Adds a small per-query cost.
* Meaningfully improves recall\@1 on hard queries.

Turn on in your Retrieval preset. Also configurable: **rerank top K** (how many candidates to rerank, default 20) and **model** (choose from available cross-encoders).

## Diversity

Sometimes the top 6 chunks are all near-duplicates. Turn on **Diversity** to enforce some spread:

* **MMR (Maximum Marginal Relevance)** — trades a little relevance for less redundancy. Set lambda (0=max diversity, 1=max relevance). Default 0.7.
* **Group cap** — at most N chunks per source. Prevents one huge document from crowding out the top results.

## Score cutoff

Below-cutoff chunks are dropped even if they're in the top K. Prevents the Agent from being handed a low-confidence match just to fill the K quota.

Score is in RRF space, roughly 0-1. Default cutoff 0.15. Turn up for higher precision; turn down (or to 0) for higher recall.

## Query-time overrides

Any of the above can be overridden per-call. An Agent may set a higher cutoff when the domain is high-risk, or turn on the reranker only for questions containing "safety" or "compliance".

## Watching it work

The Trace view shows the retrieval step with:

* The final query used (after any rewriting).
* Every candidate with its vector score, keyword score, fused score, and any boosts applied.
* Whether the reranker changed the order.

If retrieval feels off, this is where you look first.
