javascript - Fuse JS 搜索结果评分没有意义
问题描述
我正在尝试使用 Fuse JS 对字符串列表进行模糊搜索,但它返回的结果没有意义。我在这里设置了一个播放代码作为示例。
这是我的清单
[
"Yoga with Adriene - Revolution",
"Brewdog beers",
"NBA teams seen live",
"Yoga with Adriene - DEDICATE - 30 days",
"Yoga with Adriene - home",
]
我的代码配置是
const options = {
isCaseSensitive: false,
includeScore: true,
shouldSort: true,
};
当我使用搜索词“yoga home”进行搜索时,返回的最接近的匹配项是“Brewdog beers”,这显然是最差的搜索结果,我希望它首先返回“Yoga with Adriene - home”结果并匹配 2 个单词。结果是:
[
{
"item": "Brewdog beers",
"refIndex": 1,
"score": 0.6932183529538054
},
{
"item": "Yoga with Adriene - Revolution",
"refIndex": 0,
"score": 0.6959441913889373
},
{
"item": "Yoga with Adriene - home",
"refIndex": 4,
"score": 0.6959441913889373
},
{
"item": "Yoga with Adriene - DEDICATE - 30 days",
"refIndex": 3,
"score": 0.7504597227725356
}
]
其中 0 分表示完全匹配。
解决方案
推荐阅读
- python - 如何设置python数据框列长度的限制?
- django - Django - 为什么我从 Axios/AJAX 登录后没有通过身份验证?
- c# - 使用 Jenkins 和 Bridge.net 扩展构建 C# 项目
- python - Append() 指令在 python 中不起作用
- highcharts - 反向链接图 - Highcharts
- python - 防止 Python 中的 for 循环用于求和函数
- arrays - 解析复杂的 JSON Flutter
- c++ - 关于使用 || 的 if/else 代码的问题 和 &&
- r - 结合 {stringr} 和 mutate() 在大型数据集中一次操作多个列?
- java - 如何找到至少吃 P 个苹果所需的最短时间?请帮我优化这个问题的代码