The Fuzzy Search Driver is simply another group of matchers setup as follows. The multipliers are what I have used, but feel free to change these or roll your own driver with the same matchers and change the multipliers to suit.
The Levenshtein Search Driver uses the Levenshetein Distance to calculate the 'distance' between strings. It requires that you have a stored procedure in MySQL similar to the following `levenshtein( string1, string2 )`. There is an SQL file with a suitable function in the `res` folder - feel free to use this one.
Matches an exact string and applies a high multiplier to bring any exact matches to the top When sanitize is on, if the expression strips some of the characters from the search query then this may not be able to match against a string despite entering in an exact match.
#### StartOfStringMatcher
Matches Strings that begin with the search string.
For example, a search for 'hel' would match; 'Hello World' or 'helping hand'
#### AcronymMatcher
Matches strings for Acronym 'like' matches but does NOT return Studly Case Matches
For example, a search for 'fb' would match; 'foo bar' or 'Fred Brown' but not 'FreeBeer'.
#### ConsecutiveCharactersMatcher
Matches strings that include all the characters in the search relatively positioned within the string. It also calculates the percentage of characters in the string that are matched and applies the multiplier accordingly.
For Example, a search for 'fba' would match; 'Foo Bar' or 'Afraid of bats', but not 'fabulous'
#### StartOfWordsMatcher
Matches the start of each word against each word in a search.
For example, a search for 'jo ta' would match; 'John Taylor' or 'Joshua B. Takeshi'
#### StudlyCaseMatcher
Matches Studly Case strings using the first letters of the words only
For example a search for 'hp' would match; 'HtmlServiceProvider' or 'HashParser' but not 'hasProvider'
#### InStringMatcher
Matches against any occurrences of a string within a string and is case-insensitive.
For example, a search for 'smi' would match; 'John Smith' or 'Smiley Face'
#### TimesInStringMatcher
Matches a string based on how many times the search string appears inside the string
it then applies the multiplier for each occurrence.
For example, a search for 'tha' would match; 'I hope that that cat has caught that mouse' (3 x multiplier) or 'Thanks, it was great!' (1 x multiplier)