You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

关于Fuse.js演示程序返回意外搜索结果的问询

问题原因及解决办法

这是Fuse.js默认模糊搜索规则导致的:

  • 默认**阈值(threshold)**为0.6,这个值允许一定程度的字符差异,只要内容和搜索词的编辑距离落在阈值范围内就会被匹配。你看到的那两个无关条目,刚好和"remy"的字符相似度卡在了默认阈值内,所以被误返回。
  • 默认会遍历对象的所有字段(包括title、author下的所有子字段),而非仅限定在author.firstName字段搜索,进一步扩大了匹配范围。

解决办法

1. 限定搜索字段

初始化Fuse时,通过keys参数指定只在author.firstName字段中搜索,避免无关字段干扰:

const fuse = new Fuse(data, {
  keys: ['author.firstName']
});

2. 提高搜索精度

将threshold参数设为更小的值(比如0.2),只有和搜索词高度匹配的结果才会被返回:

const fuse = new Fuse(data, {
  keys: ['author.firstName'],
  threshold: 0.2
});

调整后再搜索"remy",就只会返回包含Remy的那条结果了。

内容的提问来源于stack exchange,提问作者Jason Polites

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 07:17:38