Configuration options for enhanced similarity calculation with tunable weights.

export interface SimilarityConfig {
/** Weight for exact match bonus (0-1) */
exactMatchWeight: number;
/** Weight for substring match bonus (0-1) */
substringMatchWeight: number;
/** Weight for word order similarity (0-1) */
wordOrderWeight: number;
/** Weight for character-level similarity (0-1) */
characterSimilarityWeight: number;
/** Weight for semantic similarity (0-1) */
semanticWeight: number;
/** Weight for Jaro-Winkler distance (0-1) */
jaroWinklerWeight: number;
/** Weight for n-gram similarity (0-1) */
ngramWeight: number;
/** Minimum length difference ratio to heavily penalize (0-1) */
lengthDifferenceThreshold: number;
/** Whether to enable debug logging */
debug: boolean;
}
interface SimilarityConfig {
    exactMatchWeight: number;
    substringMatchWeight: number;
    wordOrderWeight: number;
    characterSimilarityWeight: number;
    semanticWeight: number;
    jaroWinklerWeight: number;
    ngramWeight: number;
    lengthDifferenceThreshold: number;
    debug: boolean;
}

Properties

exactMatchWeight: number

Weight for exact match bonus (0-1)

substringMatchWeight: number

Weight for substring match bonus (0-1)

wordOrderWeight: number

Weight for word order similarity (0-1)

characterSimilarityWeight: number

Weight for character-level similarity (0-1)

semanticWeight: number

Weight for semantic similarity (0-1)

jaroWinklerWeight: number

Weight for Jaro-Winkler distance (0-1)

ngramWeight: number

Weight for n-gram similarity (0-1)

lengthDifferenceThreshold: number

Minimum length difference ratio to heavily penalize (0-1)

debug: boolean

Whether to enable debug logging