Install via npm
$ npm install sift-distance
NOTE: The major version of this module tracks the algorithm's version.
So, if you want to use SIFT 3, for example, you'd install sift-distance@3.0
, for version 3B of the SIFT algorithm sift-distance@3.1
, for version 4 sift-distance@4.0
and so on.
This implements the SIFT4 extended version.
- String|Buffer|Array
a
- String|Buffer|Array
b
- Object
options
- Number
maxOffset
- Number
maxDistance
- Function
tokenizer
- Function
tokenMatcher
- Function
matchEvaluator
- Function
lengthEvaluator
- Function
transpositionEvaluator
- Number
The maximum largest common substring offset to be matched against one another. Defaults to 5
.
Distance at which the algorithm should stop computing the value and just exit (the values are too different anyway).
- Mixed
value
Function to transform strings into vectors of tokens.
- Mixed
token1
- Mixed
token2
Function to determine if two tokens match each other (equal).
- Mixed
token1
- Mixed
token2
Function to determine the way a token match should be added to the lcs
(largest common substring). For example, a fuzzy match could be implemented.
- Number
lcs
: largest common substring length
Function to determine the way the lcs
value is added to the lcss
. For example, longer continuous substrings could be awarded.
- Number
transpositions
: number of transpositions - Number
lcss
: largest common subsequence length
Function to determine the way the number of transpositions affects the final result.