Skip to content

Commit c7c1b8c

Browse files
committed
Improve fuzzy searching
maxdistance - the expression we had here was causing a comparison of 'val' vs. 'val' to return an offset of 3, instead of -0 maxoffset - prefer smaller number here. OK_distance - use a more restrictive match distance. Fixes #1404
1 parent 0349093 commit c7c1b8c

File tree

1 file changed

+2
-3
lines changed

1 file changed

+2
-3
lines changed

template/search_template.js

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -97,13 +97,12 @@ $.extend( $.ui.autocomplete, {
9797
return value.replace( /[\-\[\]{}()*+?.,\\\^$|#\s]/g, "\\$&" );
9898
},
9999
filter: function( array, term ) {
100-
var max_distance = 2;
101100
var len = term.length;
102101
var matcher = new RegExp( $.ui.autocomplete.escapeRegex( term ), "i" );
102+
var OK_distance = len > 9 ? 4 : len > 6 ? 3 : len > 4 ? 2 : 1;
103103
return $.grep( array, function( value ) {
104104
if (len >=2 ) {
105-
var OK_distance = Math.min(max_distance, len -1);
106-
var result = sift4( value.value, term, Math.max(5, len+1), Math.max(3, len-1));
105+
var result = sift4( value.value, term, 4, 0);
107106
if (result <=OK_distance) {
108107
return true;
109108
}

0 commit comments

Comments
 (0)