Simple lightweight Fuzzy Search library written in JavaScript, with zero dependencies!
Using npm
npm install fuzzy-search --save
Using
<script>
<script src="FuzzySearch.js"></script>
// This can be excluded when loaded via <script>
import FuzzySearch from 'fuzzy-search'; // Or: var FuzzySearch = require('fuzzy-search');
const people = [{
name: {
firstName: 'Jesse',
lastName: 'Bowen',
},
state: 'Seattle',
}];
const searcher = new FuzzySearch(people, ['name.firstName', 'state'], {
caseSensitive: true,
});
const result = searcher.search('ess');
const searcher = new FuzzySearch(<haystack>, [keys], [options]);
const result = searcher.search(<needle>);
haystack (type: Array
)
Array of objects containing the search list.
[keys] (type: Array
, default: []
)
List of properties that will be searched. This also supports nested properties.
[options] (type: Object
)
Object with options that will configure the search. Scroll/Swipe down to see more information on what options are available.
<needle> (type: String
, default: ''
)
The string to Fuzzy Search on.
caseSensitive (type: Boolean
, default: false
)
Indicates whether comparisons should be case sensitive.
sort (type: Boolean
, default: false
)
When true
it will sort the results by best match (when searching for abc
in the search set ['a__b__c', 'abc']
it would return abc
as the first result).
When false
it will return the results in the original order.