Note: this was mostly meant for me to learn some basic Go. Right now it is really slow for distances > 2 (slower than the naive approach).
HTTP Server for Nicenshtein.
Answers GET requests with closest words according to Levenshtein distance <= 2.
So far two datasets are indexed. See https://nicenshtein.now.sh.
GET /passwords/password
{
"#passwor": 2,
"1Assword": 2,
"1Password": 2,
"1passwor": 2,
"1password": 1,
"2passwor": 2,
"4passwor": 2,
"4password": 1,
"P1ssword": 2,
"P4ssword": 2,
"P@ssword": 2,
"PAssword": 2,
"Pass1word": 2,
"PassLord": 2,
"PassWord": 2,
"Passord": 2,
"Passvord": 2,
"Passw0rd": 2,
"Passwor": 2,
"Passwor1": 2,
"Passwor3": 2,
"PassworD": 2,
"Password": 1,
"Passwort": 2,
"apasswor": 2,
"apassword": 1,
"assw0rd": 2,
"asswor": 2,
"assword": 1,
"basswood": 2,
"lassword": 1,
"lastword": 2,
"mypassword": 2,
"nopassword": 2,
"p1ssword": 1,
"p2ssw0rd": 2,
"p2ssword": 1,
"p4ssw0rd": 2,
"p4ssword": 1,
"p8ssw0rd": 2,
"p@ssw0rd": 2,
"p@ssword": 1,
"pAssw0rd": 2,
"pa$$word": 2,
"pa11word": 2,
"pa22word": 2,
"pa33word": 2,
"pa44word": 2,
"pa55word": 2,
"pa88word": 2,
"packword": 2,
"paddword": 2,
"pas1word": 1,
"pas3word": 1,
"pas5w0rd": 2,
"pas5word": 1,
"pashword": 1,
"pass12word": 2,
"pass1wor": 2,
"pass1word": 1,
"pass2wor": 2,
"pass2word": 1,
"pass3word": 1,
"pass55word": 2,
"pass7wor": 2,
"pass99word": 2,
"passWord": 1,
"pass_word": 1,
"passard": 2,
"passcard": 2,
"passcord": 1,
"passeird": 2,
"passforu": 2,
"passmore": 2,
"passoerd": 2,
"passor": 2,
"passord": 1,
"passowrd": 2,
"passpor": 2,
"passporn": 2,
"passport": 2,
"passswor": 2,
"passsword": 1,
"passuerd": 2,
"passvord": 1,
"passw0r": 2,
"passw0rd": 1,
"passw0rt": 2,
"passw2rd": 1,
"passw3rd": 1,
"passwar": 2,
"passward": 1,
"passwd": 2,
"passwerd": 1,
"passwird": 1,
"passwo": 2,
"passwo1": 2,
"passwod": 1,
"passwods": 2,
"passwoed": 1,
"passwoid": 1,
"passwolf": 2,
"passwood": 1,
"passwoord": 1,
"passwor": 1,
"passwor1": 1,
"passwor2d": 1,
"passwor5": 1,
"passwor7": 1,
"passwor9": 1,
"passworD": 1,
"password": 0,
"password!": 2,
"password$": 2,
"password-": 2,
"password.": 2,
"password0": 2,
"password1": 2,
"password2": 2,
"password3": 2,
"password4": 2,
"password5": 2,
"password6": 2,
"password7": 2,
"password8": 2,
"password9": 2,
"password?": 2,
"password@": 2,
"passworda": 2,
"passwordd": 1,
"passwordg": 2,
"passwordn": 2,
"passwordp": 2,
"passwords": 2,
"passwordx": 2,
"passworf": 1,
"passwork": 1,
"passworld": 1,
"passworm": 1,
"passworr": 1,
"passwort": 1,
"passwort1": 2,
"passworth": 2,
"passworx": 1,
"passwprd": 1,
"passwrd": 1,
"passwrod": 2,
"passwud": 2,
"passwurd": 1,
"pastword": 1,
"pasvord": 2,
"pasw0rd": 2,
"paswoord": 2,
"paswor": 2,
"pasword": 1,
"pasworld": 2,
"paswrd": 2,
"patsword": 1,
"paword": 2,
"paxxword": 2,
"pazzword": 2,
"pissword": 1,
"psswrd": 2,
"psword": 2,
"pussword": 1,
"rpassword": 1,
"ssword": 2,
"wasspord": 2
}