I need to search for multiple words in a (very) large string. Does anyone know of any implementations of this? (No matter how it is done, hash table, trie, suffix array, etc.) I imagine this would be a pretty common problem but I haven't been able to find any implementations of it. A brute-force approach of searching for each word individually would be very inefficient since I am trying to find many thousands of words in a very large piece of text. Thanks for any help.