Есть ли библиотека для автоматического предложения / завершения для случаев, подобных следующему
При поиске «Vir» возвращается «Западная Вирджиния» и «Вирджиния»
Спасибо
EDIT
Извините, что не объяснил больше. В приведенной выше задаче я не хочу искать «содержит», а искать префикс по границам слова. Поэтому «est» не должен возвращать «Западную Вирджинию», а «wes» или «vir» должны.
Большой список насчитывает около 500 наименований.
Предлагаемое решение
Я изменил реализацию trie Майка де Бур https://github.com/mikedeboer/trie, чтобы решить эту проблему. Я разбил элемент на границы слов и сохранил каждое слово в дереве. Для последней буквы каждого слова я сохранял индекс элемента, из которого пришло слово, в узле trie. Когда пользователь выполняет поиск, я возвращаю список индексов, а затем получаю соответствующие элементы из основного списка.
Что вы, ребята, думаете?