Bloodhound генерирует повторяющиеся предложения автозаполнения для Typeahead - PullRequest
0 голосов
/ 04 августа 2020

Я настроил свой Twitter Typeahead. js с помощью Bloodhound. Bloodhound использует предварительно сгенерированный файл JSON общих предложений, и если пользователь не выберет ни одного из них, он отправит API с запросом пользователя, чтобы сгенерировать еще больше предложений. API не знает, какие предложения уже есть в файле JSON, он просто выдаст вам все, что соответствует строке запроса пользователя. Это означает, что для наиболее распространенных предложений пользователь видит один и тот же вариант дважды - один раз сразу из файла JSON, а после небольшой задержки тот же вариант из запроса API.

Мой вопрос: как мне настроить Bloodhound / Typeahead так, чтобы эти дубликаты были опущены?

var dockets = new Bloodhound({
    datumTokenizer: Bloodhound.tokenizers.obj.whitespace("text"),
    queryTokenizer: Bloodhound.tokenizers.whitespace,
    prefetch: '/static/dockets/dockets.json',
    remote: {
        url:  '/dockets/ajax-search/?query=%QUERY',
        wildcard: '%QUERY'
    }
});

$('#searchdocketform .typeahead').typeahead(null, {
    name: 'docket-search',
    display: 'text',
    source: dockets
});
...