В чем секрет подтягивания предметов, которые соответствуют символам, введенным в строку поиска, которые мгновенно реагируют? Например, если я наберу букву «W» в строке поиска, все фразы, содержащие букву «W» в любой позиции символа внутри фразы, будут возвращены немедленно.
Таким образом, если база данных из 20 000 фраз содержит 500 фраз с буквой «W», они появятся, как только пользователь введет первый символ. Затем при вводе дополнительных символов список автоматически становится короче.
Я могу отправлять запросы на сервер SQL с iPhone и получать ответ такого типа, однако, независимо от того, что мы пытаемся и принимаем предложения других пользователей, мы все равно не можем получить хорошее время ответа при хранении базы данных локально на iPhone.
Я знаю, что эта производительность доступна, потому что есть много других приложений, которые отображают результаты, как только вы начинаете печатать.
Обратите внимание, что это не то же самое, что индексирование всех слов в каждой фразе, так как это приведет только к совпадениям, в которых слово начинается с введенного символа. В этом случае мы ищем символы в словах.