fuse js 模糊搜索插件

57 阅读1分钟

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)