Я пытаюсь использовать 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,
};
Когда я выполняю поиск по запросу «йога дома», наиболее близкое совпадение - «пиво пивной», что явно является худшим результатом поиска, я ожидаю, что он сначала вернет результат «йога с Адриеном - дома» с двумя совпадающими словами. Результаты:
[
{
"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 баллов - точное совпадение.