I am doing string matching with big amount of data.
EDIT: I am matching words contained in a big list with some ontology text files. I take each file from ontology,
you can use BM algorithm for search in text files for single pattern, and repeat this algorithm for all the patterns you have in your list.
the other best solution is to use multi-pattern search algorithms like: Aho–Corasick string matching algorithm