Один из вариантов - избыточные данные. Если вы запрашиваете много для некоторого фиксированного набора строк, встречающегося в середине некоторого столбца, добавьте еще один столбец, содержащий информацию о том, можно ли найти конкретную строку в другом столбце.
Другой вариант для произвольных, но все еще токенизируемых строк - создать таблицу словаря, в которой у вас есть токены (например, apples
) и ссылки на внешние ключи на фактическую таблицу, в которой находится токен.
Как правило, sqlite не очень хорошо подходит для полнотекстового поиска.