Одним из решений было бы создание таблицы поиска, которая заполняется значениями rowid и keywordid при каждом создании или изменении строки.
Тогда вы можете пропустить все LIKE и получить гораздо большую производительность.
Триггер при вставке и обновлении должен работать, но он будет стоить немного больше производительности при вставке и обновлении.
Вы бы просто использовали
SELECT * FROM t1 WHERE id in (SELECT id FROM lookup WHERE keywordid IN ())
А если ключевых слов много, выможно использовать дополнительный запрос больше, чтобы получить идентификаторы ключевых слов, или, если меньше, использовать кэшированную структуру поиска непосредственно в коде, словаре или аналогично.