AdventureLookup / adventurelookup-backend

Platform, Framework, Database software
GNU General Public License v3.0
28 stars 7 forks source link

Autocomplete #22

Open probably-not-a-cat opened 8 years ago

probably-not-a-cat commented 8 years ago

Helping users correctly spell information would help them search faster (no typos) and helps avoid typos from going into the database.

brehaut commented 8 years ago

Front end team member here: I'm looking at the implementation we'll use in the UI to manage autocomplete. Ideally we want this to be as snappy as possible so I'm going to set up a client side database to cache the autocomplete information as it comes past. I'd also like to get a package of most common data to prime it when the user first loads the app.

I'm going to use double metaphone and a stopwords list on the client to do fuzzy matching, but I also want to have synonyms so that we can that say an enemy tag is 'illithid', and the user types 'mind' we can autocomplete with 'illithid (mindflayer)' and have the resulting query normalized before it hits the back end.

It will also help for the front end to have the facet that a given value relates to.

I am unsure (currently) if the stop words list will be static or if we will want to pull it down from the database as well.

The frontend task most directly related to this from the backend task is Search middleware skeleton (#4).