Open AlphaKretin opened 5 years ago
I've just stumbled upon https://lunrjs.com/, which I need to investigate as an alternative to fuse.
After some investigation, it seems I misinterpreted what kind of search lunr provides, and it will not suit this use case.
Fuse.js doesn't well fit the problem space of guessing Yu-Gi-Oh! card names. It's more suited to typoes, whereas people querying Bastion are far more likely to skip entire words. I've also experienced fuse being quite biased towards the start of the phrase, whereas an ideal algorithm should be neutral (e.g., people often search for an archetype member where the archetype name is at the start and leave that off). An option I'm considering more strongly as time goes on is to create an algorithm of my own. I'll use this issue to keep rough notes of my thoughts on how that might go.
Another option is machine learning. I know it's kind of a buzzword, but it's no more than a classification problem, and I should have a huge corpus of inputs from keeping stats on old Bastion as long as I can match them up with the real result. The main problem is massaging that data set and identifying those intended results.