ExUtcp.Search.Fuzzy (ex_utcp v0.3.2)

Copy Markdown View Source

Fuzzy search implementation for UTCP tools and providers.

Uses FuzzyCompare library for advanced string similarity algorithms.

Summary

Functions

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

Calculates Levenshtein distance (fallback implementation).

Calculates similarity score based on Levenshtein distance.

Searches providers using fuzzy matching.

Searches tools using fuzzy matching.

Calculates string similarity using FuzzyCompare algorithms.

Functions

best_similarity(str1, str2)

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

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

levenshtein_distance(str1, str2)

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

Calculates Levenshtein distance (fallback implementation).

levenshtein_similarity(str1, str2)

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

Calculates similarity score based on Levenshtein distance.

search_providers(providers, query, opts)

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

Searches providers using fuzzy matching.

search_tools(tools, query, opts)

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

Searches tools using fuzzy matching.

string_similarity(str1, str2)

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

Calculates string similarity using FuzzyCompare algorithms.