Rather than building up a static or dynamic list of OR conditions in WHERE clause, instead load your search keywords into a temp table or table variable, and then join.
select *
from TestTable
join @SearchKeywords S
on S.keyword = TestTable.keyword;
"Do not seek to follow in the footsteps of the wise. Instead, seek what they sought." - Matsuo Basho