У меня есть веб-приложение, которое использует функции автономного хранилища html5, чтобы пользователь мог получить к нему доступ без подключения к Интернету. Приложение, по сути, просто обслуживает html-страницы и немного css и javascript.
Я пытаюсь добавить возможность поиска текста на этих страницах по ключевым словам, но поскольку приложению не гарантируется доступ к серверу, оно должно иметь возможность выполнять эти поиски на стороне клиента.
Моя мысль заключается в том, что я могу хранить доступный для поиска текст в базе данных sql браузера и выполнять поиск либо через javascript, либо через sql API браузера. У меня есть несколько вопросов о том, как лучше всего это сделать:
1) Смутно помню статью о том, как реализовать что-то подобное, может от airbnb? Кто-нибудь помнит такую статью?
2) Текст состоит из более чем 2 000 000 слов, поэтому я предполагаю, что indexOf сломается при таком размере данных. Есть ли шанс, что регулярное выражение выдержит? Какие есть варианты реализации реального поиска? (библиотеки, алгоритмы и т. д.) Любые предложения статей для понимания компромиссов алгоритмов поиска строк, если мне нужно идти по этому пути?