# `ExUtcp.Search.Ranking`
[🔗](https://github.com/universal-tool-calling-protocol/elixir-utcp/blob/main/lib/ex_utcp/search/ranking.ex#L1)

Search result ranking and scoring for UTCP tools and providers.

Provides sophisticated ranking algorithms to order search results by relevance.

# `apply_boost_factors`

```elixir
@spec apply_boost_factors(map(), map()) :: map()
```

Applies boost factors based on search preferences.

# `context_relevance_score`

```elixir
@spec context_relevance_score(map(), String.t()) :: float()
```

Calculates context relevance score based on query context.

# `popularity_score`

```elixir
@spec popularity_score(map()) :: float()
```

Calculates popularity score based on usage patterns.

# `quality_score`

```elixir
@spec quality_score(map()) :: float()
```

Calculates quality score based on tool definition completeness.

# `rank_provider_results`

```elixir
@spec rank_provider_results([map()], String.t(), map()) :: [map()]
```

Ranks provider search results.

# `rank_results`

```elixir
@spec rank_results([map()], String.t(), map()) :: [map()]
```

Ranks search results based on relevance and query context.

# `recency_score`

```elixir
@spec recency_score(map()) :: float()
```

Calculates recency score based on when the tool was last used or updated.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
