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.
CompositeOptions
Configuration for the composite (calibrated ensemble) algorithm.
ExplainableMetric
Optional capability for metrics that can explain how a score was produced.
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

CompositeCombiner
Strategy for combining witness scores in the composite metric.
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).
ExplainedScore = ({Map<String, Object?> details, SimilarityScore score})
A score paired with metric-specific detail metadata.
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.