Мне нужно, чтобы мое приложение для iPhone / iPad позволяло быстро выполнять поиск около 10000 записей (примерно по одному абзацу текста) для любой подстроки, содержащейся в записи. Так что, если запись содержит слово «Flame», запросы на «lame» должны совпадать.
В настоящее время я использую SQLite, но поиск "LIKE% term%" слишком медленный для такого количества записей. Включение полнотекстового поиска, похоже, не будет полностью соответствовать моим потребностям, поскольку SQLite поддерживает только символы подстановки префиксов (например, «Flam *», а не «* lame»).
Я экспериментировал с использованием гигантского сгустка текста (~ 350 КБ) и выполнением [NSString rangeOfString: ...], которое, я думаю, использует алгоритм Бойера-Мура. Это быстрее, чем поиск "LIKE% term%", но все же не та скорость, на которую я надеюсь.
Какие-либо предложения по подходам или библиотекам, которые могли бы обеспечить такой масштабируемый поиск по подстроке и которые могли бы работать на iPhone?