FuzzyOptions<T> class

Options for performing a fuzzy search

Constructors

FuzzyOptions({int location = 0, int distance = 100, double threshold = 0.6, int maxPatternLength = 32, bool isCaseSensitive = false, Pattern? tokenSeparator, bool findAllMatches = false, int minTokenCharLength = 1, int minMatchCharLength = 1, List<WeightedKey<T>> keys = const [], bool shouldSort = true, SorterFn<T>? sortFn, bool tokenize = false, bool matchAllTokens = false, bool verbose = false, bool shouldNormalize = false})
Instantiate an options object. The keys list requires a positive number (they'll be normalized upon instantiation). If any weight is not positive, throws an ArgumentError.

Properties

distance int
Determines how close the match must be to the fuzzy location (specified above). An exact letter match which is 'distance' characters away from the fuzzy location would score as a complete mismatch. A distance of '0' requires the match be at the exact location specified, a threshold of '1000' would require a perfect match to be within 800 characters of the fuzzy location to be found using a 0.8 threshold.
final
findAllMatches bool
When true, the algorithm continues searching to the end of the input even if a perfect match is found before the end of the same input.
final
hashCode int
The hash code for this object.
no setterinherited
isCaseSensitive bool
Indicates whether comparisons should be case sensitive.
final
keys List<WeightedKey<T>>
List of weighted getters to properties that will be searched
final
location int
Approximately where in the text is the pattern expected to be found?
final
matchAllTokens bool
When true, the result set will only include records that match all tokens. Will only work if tokenize is also true.
final
maxPatternLength int
Machine word size
final
minMatchCharLength int
Minimum number of characters that must be matched before a result is considered a match
final
minTokenCharLength int
Ignore tokens with length smaller than this. Only applicable when tokenize is true.
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
shouldNormalize bool
Wether it should convert accents (diacritics) from strings to latin characters before searching.
final
shouldSort bool
Whether to sort the result list, by score
final
sortFn SorterFn<T>
Default sort function
final
threshold double
At what point does the match algorithm give up. A threshold of '0.0' requires a perfect match (of both letters and location), a threshold of '1.0' would match anything.
final
tokenize bool
When true, the search algorithm will search individual words and the full string, computing the final score as a function of both. Note that when tokenize is true, the threshold, distance, and location are inconsequential for individual tokens.
final
tokenSeparator Pattern
Regex used to separate words when searching. Only applicable when tokenize is true.
final
verbose bool
Will print to the console. Useful for debugging.
final

Methods

copyWith({int? location, int? distance, double? threshold, int? maxPatternLength, bool? isCaseSensitive, Pattern? tokenSeparator, bool? findAllMatches, int? minTokenCharLength, int? minMatchCharLength, List<WeightedKey<T>>? keys, bool? shouldSort, SorterFn<T>? sortFn, bool? tokenize, bool? matchAllTokens, bool? verbose, bool? shouldNormalize}) FuzzyOptions<T>
Copy these options with some modifications.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited