Как вариант, да, на стороне приложение разбить на нграмы, но вопрос всё равно остаётся, как по слову, получить часть текста, сколько-то слов до вхождения, и сколько-то после?
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.