📜  JavaScript 中的模糊搜索

📅  最后修改于: 2022-05-13 01:56:50.643000             🧑  作者: Mango

JavaScript 中的模糊搜索

模糊搜索匹配含义,不一定是精确的措辞或指定的短语。它对数据执行与全文搜索相同的操作,以查看可能的拼写错误和近似字符串匹配。这是一个非常强大的工具,可以考虑您希望查看的短语的上下文。

模糊搜索也称为近似字符串匹配。它很强大,因为文本数据通常很混乱。例如,速记和缩写文本在各种数据中很常见。此外,OCR 或语音到文本转换的输出往往是混乱或不完美的。因此,我们希望通过推断尽可能多的信息来充分利用我们的数据。

用于研究和调查时,模糊搜索比精确搜索更强大。模糊搜索在研究不熟悉的、外语的或复杂的术语时非常有用,这些术语的正确拼写似乎并不广为人知。模糊搜索还可用于定位支持不完整或部分不准确的识别信息的个人。

安装包:

$ npm install --save fuse.js

例子:

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)


输出:

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

一些常见的 JavaScript 模糊搜索库是:

  • List.js :https://listjs.com/
  • Fuse.js :https://fusejs.io/
  • 模糊搜索:https://www.npmjs.com/package/fuzzy-search