Fuse JS оценка результатов поиска не имеет смысла - PullRequest
0 голосов
/ 13 июля 2020

Я пытаюсь использовать 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 баллов - точное совпадение.

...