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

Fuzzy search implementation for UTCP tools and providers.

Uses FuzzyCompare library for advanced string similarity algorithms.

# `best_similarity`

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

Calculates multiple similarity metrics and returns the best score using FuzzyCompare.

# `levenshtein_distance`

```elixir
@spec levenshtein_distance(String.t(), String.t()) :: integer()
```

Calculates Levenshtein distance (fallback implementation).

# `levenshtein_similarity`

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

Calculates similarity score based on Levenshtein distance.

# `search_providers`

```elixir
@spec search_providers(list(), String.t(), map()) :: list()
```

Searches providers using fuzzy matching.

# `search_tools`

```elixir
@spec search_tools(list(), String.t(), map()) :: list()
```

Searches tools using fuzzy matching.

# `string_similarity`

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

Calculates string similarity using FuzzyCompare algorithms.

---

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