Amortized O(n) search with multiple search terms and stopwords