Fuse.js 是一个轻量级的用于在 JavaScript 中进行模糊搜索(Fuzzy Search)的库。它提供了强大的模糊搜索功能
安装
pnpm install fuse.js
导入使用
import Fuse from 'fuse.js'
初始化 fuse
用 Fuse.js 库创建了一个 Fuse 实例,该实例用于模糊搜索列表中的项。Fuse.js 是一个用于执行模糊搜索的 JavaScript 库,允许你通过设置一些参数来调整搜索的行为。
// 初始化 fuse
const initFuse = (list) => {
fuse.value = new Fuse(list, {
// 是否对搜索结果进行排序
shouldSort: true,
// 搜索阈值,控制匹配的严格程度
threshold: 0.4,
// 定位参数,指定匹配项的起始位置
location: 0,
// 距离参数,指定匹配项之间的最大距离
distance: 100,
// 最大模式长度,限制搜索模式的最大长度
maxPatternLength: 32,
// 最小匹配字符长度,指定匹配的最小字符数
minMatchCharLength: 1,
// 设置要搜索的属性或键的名称
keys: [{
name: 'title',
// 设置属性或键的权重,用于调整属性在搜索中的重要性
weight: 0.7
}, {
// 设置要搜索的第二个属性或键的名称
name: 'path',
// 设置第二个属性或键的权重
weight: 0.3
}]
})
}
搜索
fuse.value.search(query)