Open In App

Fuzzy Search in JavaScript

Last Updated : 05 Nov, 2020
Improve
Improve
Like Article
Like
Save
Share
Report

Fuzzy searching matches the meaning, not necessarily the precise wording or specified phrases. It performs something the same as full-text search against data to see likely misspellings and approximate string matching. it’s a very powerful tool that takes into consideration the context of the phrase you wish to look.

Fuzzy Search is additionally called as approximate string matching. It’s powerful because often text data is messy. For instance, shorthand and abbreviated text are common in various sorts of data. Additionally, outputs from OCR or voice to text conversions tend to be messy or imperfect. Thus, we want to make the foremost of our data by extrapolating the maximum amount of information as possible.

Fuzzy search is more powerful than exact searching when used for research and investigation. Fuzzy search is very useful when researching unfamiliar, foreign-language, or sophisticated terms, the correct spellings of which don’t seem to be widely known. Fuzzy search can also be used to locate individuals supported incomplete or partially inaccurate identifying information.

Installing the package:

$ npm install --save fuse.js

Example:

Javascript




const Fuse = require('fuse.js')
 
const people = [
    {
        name: "John",
        city: "New York"
    },
    {
        name: "Steve",
        city: "Seattle"
    },
    {
        name: "Bill",
        city: "Omaha"
    }
]
 
const fuse = new Fuse(people, {
    keys: ['name', 'city']
})
 
// Search
const result = fuse.search('jon')
 
console.log(result)


Output:

[ { item: { name: 'John', city: 'New York' }, refIndex: 0 } ]

Some common fuzzy search libraries for JavaScript are:

  • List.js : https://listjs.com/
  • Fuse.js : https://fusejs.io/
  • Fuzzy-search :https://www.npmjs.com/package/fuzzy-search

Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads