Se as palavras-chave permanecerem sempre as mesmas, você poderá criar um índice sobre elas, o que melhora a velocidade de pesquisa (tremendamente). A estrutura de dados padrão para lidar com isso é a trie mas uma alternativa muito melhor (!) é o Aho-Corasick autômato ou outro algoritmo de pesquisa de vários padrões, como Horspool de vários padrões (também conhecido como algoritmo Wu-Manber).
Finalmente, uma alternativa muito simples é concatenar todas as suas palavras-chave com pipes (
|
) e use o resultado como uma expressão regular. Tecnicamente, isso se aproxima do autômato Aho-Corasick e é muito mais simples de implementar.