similarity library

String similarity and fuzzy matching APIs.

Use StringSimilarity for stateless helpers or StringSimilarityEngine when you need configuration, caching, or detailed results.

Classes

AlgorithmOptions
Configuration options for specific similarity algorithms.
CacheOptions
Configuration options for internal caching.
FuzzyMatch<T>
Represents a match result from a fuzzy search against a list of candidates.
NgramCacheKey
Key for caching n-grams (string + n).
NormalizationOptions
Configuration options for string normalization.
SimilarityCaches
Holds references to the various caches used by the engine.
SimilarityContext
Context passed to SimilarityMetric.score.
SimilarityMetric
Interface for a string similarity or distance metric.
SimilarityMetricRegistry
Registry for mapping SimilarityAlgorithm enums to SimilarityMetric implementations.
SimilarityOptions
Comprehensive configuration for the StringSimilarityEngine.
SimilarityResult
Detailed result of a similarity comparison.
StringSimilarity
Static facade for common string similarity operations.
StringSimilarityEngine
Engine for performing string similarity comparisons and fuzzy matching.

Enums

SimilarityAlgorithm
Enumeration of supported string similarity/distance algorithms.

Extensions

StringSimilarityExtensions on String
Convenience extensions for using StringSimilarity on String instances.

Typedefs

Distance = int
Represents an edit distance (integer count of operations).
PostProcessor = String Function(String)
Function that transforms a string after normalization.
PreProcessor = String Function(String)
Function that transforms a string before processing (e.g. trimming).
SimilarityScore = double
Represents a similarity score between 0.0 (no match) and 1.0 (exact match).
Tokenizer = List<String> Function(String)
Function that splits a string into a list of tokens.

Exceptions / Errors

AlgorithmNotSupportedException
Thrown when an algorithm is not supported/registered.
InvalidConfigurationException
Thrown when options/configuration are invalid.
InvalidInputException
Thrown when a required input is invalid (e.g., empty pattern for compile).
StringSearchAlgorithmsException
Base exception for the package.