Я настроил свой 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
});