fast-autocomplete icon indicating copy to clipboard operation
fast-autocomplete copied to clipboard

Casing issue with synonyms

Open iaudouard opened this issue 3 years ago • 2 comments

Hi there, I have encountered a bug that occurs when the synonym key includes uppercase characters. I use the autocomplete for shows' titles, which have uppercase characters. The problem is that if I run the program below, nothing is returned as an autocomplete suggestion

def autocomplete(query, x):
    valid_chars = string.ascii_letters
    words = {
        'Attack on Titan': {}
    }
    synonyms = {

        "Attack on Titan": ["Shingeki no Kyojin", "AOT"],

    }
    autocomplete = AutoComplete(
        words=words, synonyms=synonyms, valid_chars_for_string=valid_chars)
    return autocomplete.search(word=query, size=x)


print(autocomplete('Shin', 5))

However if you change the key of both dictionaries to "attack on titan", the program works as expected.

iaudouard avatar Jan 19 '22 20:01 iaudouard

Same issue on my side.

Maurice-D-Elbee avatar Jan 25 '22 03:01 Maurice-D-Elbee

This is because by default fast autocomplete normalizes words. As a part of normalization, it lowercases everything. But seems like maybe it doesn't by default do it for the synonyms. I will make it normalize the synonyms in the next release.

seperman avatar Feb 07 '22 06:02 seperman