Вы пробовали «строку до / после появления поискового запроса» в коде, чтобы увидеть, достаточно ли хороши результаты для того простого, что вы хотите? Может быть, уже достаточно?
В противном случае вы можете использовать фрагменты предложений: не разбивать на строки, а на новые строки, точки с запятой, запятые, дефисы и т. Д. Затем покажите фрагменты, содержащие условия поиска. Вы можете отделить каждую часть предложения с помощью "..." или чего-то еще.
Если вы получаете много этих кусочков, вы можете попытаться расставить приоритеты по кусочкам, отсортировать их по убыванию и показать только первые n
из них. И / или вырежьте фрагменты только для поискового запроса и нескольких слов вокруг поискового запроса.
Всего лишь пара неформальных идей, которые могут помочь вам начать?